Chào các anh chị,
Em có tìm được 1 file search trong form rất hay và tốc độ rất nhanh, sử dụng phương thức tìm dictionary của thầy @ndu96081631 . Nhưng trong code thì chỉ tìm nội dung gõ chính xác thì mới tìm ra.
Ví du: trong cột Tên hàng có Lắc Châu Bạc, tại ô textbox em phải gõ chữ "Lắc" thì mới ra, còn em gõ chữ "Châu" thì tìm không thấy, các anh chị có thể sửa giúp em code tìm nội dung bất kỳ, không cần tìm từ chữ đầu tiên không ạ? Em có post file lên, nhờ các anh chị giúp nha.
Cảm ơn nhiều
Còn đây là code trong file luôn nhé.
Em có tìm được 1 file search trong form rất hay và tốc độ rất nhanh, sử dụng phương thức tìm dictionary của thầy @ndu96081631 . Nhưng trong code thì chỉ tìm nội dung gõ chính xác thì mới tìm ra.
Ví du: trong cột Tên hàng có Lắc Châu Bạc, tại ô textbox em phải gõ chữ "Lắc" thì mới ra, còn em gõ chữ "Châu" thì tìm không thấy, các anh chị có thể sửa giúp em code tìm nội dung bất kỳ, không cần tìm từ chữ đầu tiên không ạ? Em có post file lên, nhờ các anh chị giúp nha.
Cảm ơn nhiều
Còn đây là code trong file luôn nhé.
Mã:
Function Filter2DArray(sArray, ColIndex As Long, FindStr As String)
Dim TmpArr, i As Long, j As Long, Arr, Dic, TmpStr, Tmp
Set Dic = CreateObject("Scripting.Dictionary")
TmpArr = sArray
ColIndex = ColIndex + LBound(TmpArr, 2) - 1
For i = LBound(TmpArr, 1) To UBound(TmpArr, 1)
TmpStr = Left(TmpArr(i, ColIndex), Len(FindStr))
If UCase(TmpStr) = UCase(FindStr) Then Dic.Add i, ""
Next
If Dic.Count > 0 Then
Tmp = Dic.Keys
ReDim Arr(UBound(Tmp), LBound(TmpArr, 2) To UBound(TmpArr, 2))
For i = LBound(Tmp) To UBound(Tmp)
For j = LBound(TmpArr, 2) To UBound(TmpArr, 2)
Arr(i, j) = TmpArr(Tmp(i), j)
Next
Next
End If
Filter2DArray = Arr
End Function
File đính kèm
Lần chỉnh sửa cuối: