Xin hàm tìm chuỗi ký tự theo số lượng ký tự bằng VBA

snow25

Thành viên tích cực
Tham gia ngày
24 Tháng bảy 2018
Bài viết
1,520
Được thích
1,211
Điểm
210
Thử code
Mã:
Function NoiKyTu(ByVal SoKyTu As Integer, ByVal Deli As String, ByVal dk As Boolean, ParamArray sRng()) As String
  Dim Rng, sArr, tmp, i As Long, j As Long, n As Long, Res As String
  For Each Rng In sRng
    sArr = Rng.Value
    If TypeName(sArr) <> "Variant()" Then
      ReDim sArr(1 To 1, 1 To 1)
      sArr(1, 1) = Rng.Value
    End If
    For j = 1 To UBound(sArr, 2)
      For i = UBound(sArr, 1) To 1 Step -1
        tmp = sArr(i, j)
        If Len(tmp) = SoKyTu Then
          If dk = False Then
            If Res = Empty Then Res = tmp Else Res = Res & Deli & tmp
            Exit For
          Else
            For n = 1 To SoKyTu - 1
              If InStr(n + 1, tmp, Mid(tmp, n, 1)) > 0 Then Exit For
            Next n
            If n = SoKyTu Then
              If Res = Empty Then Res = tmp Else Res = Res & Deli & tmp
              Exit For
            End If
          End If
        End If
      Next i
    Next j
  Next
  NoiKyTu = Res
End Function
Hi ngắn hơn anh à.
 

hiénlinh197

Thành viên tích cực
Tham gia ngày
26 Tháng năm 2009
Bài viết
481
Được thích
108
Điểm
395
Lần chỉnh sửa cuối:

VetMini

Thành viên gạo cội
Tham gia ngày
21 Tháng mười hai 2012
Bài viết
6,260
Được thích
7,245
Điểm
560
Nhưng có chuẩn bằng em không?
Anh rất cảm ơn em!
<automerge>
Anh @VetMini cho em xin ý kiến về hàm này nư nào?
Cảm ơn anh @HieuCD , @snow25
Ai biết mục đích của code để làm cái gì mà ý kiến?
Tiêu chuẩn thế nào là ngắn, thế nào là chuẩn?
Tôi không có thói quen so sánh việc làm của hai người. Muốn phê người nào thì tôi nói thẳng với người đó.
 

hiénlinh197

Thành viên tích cực
Tham gia ngày
26 Tháng năm 2009
Bài viết
481
Được thích
108
Điểm
395
Ai biết mục đích của code để làm cái gì mà ý kiến?
Tiêu chuẩn thế nào là ngắn, thế nào là chuẩn?
Tôi không có thói quen so sánh việc làm của hai người. Muốn phê người nào thì tôi nói thẳng với người đó.
Anh @VetMini ơi em không có trình độ về lập trình, vì vậy em muốn anh xem xét về chuyên môn
Còn code ngắn gọn của anh @HieuCD ngắn gọn chắc chắn sẽ hơn code của bạn @snow25
Em cảm ơn anh @HieuCD và cùng toàn thể anh em GPE nhé
 
Top