Em đã tham khảo và copy được Filter2DArray của thầy NDU về làm một Form tìm kiếm cho mình.
Nhưng không hiểu sao Form không tìm kiếm được.
Form trong File chỉ ví dụ thôi.
Em muốn tìm kiếm theo điều kiện ngày tháng trong cột số 7 ở sheet Data
Kính nhờ các thầy cô và các anh chị quan tâm và sửa giúp em với
EM cảm ơn
Mình có 1 vài điều thắc mắc:
1) Về việc nhập ngày tháng tại sao ko dùng control khác
(Calendar, Dtpicker...) diễn đàn đã giới thiệu nhiều lần. Dùng Textbox dở tệ (nếu chia sẻ cho người khác thì hướng dẫn người ta cài mấy control kia đơn giản thôi)
2) Nếu đã dùng Textbox sao lại chọn sự kiện
Change? gõ vào textbox là tìm ngay??? Nên là Textbox1_
AfterUpdate()
3) Bị lỗi mà cứ để
On Error Resume Next thì bít sai thế nào? thường người ta kiểm tra hết các trường hợp rùi hết nước thì mới dùng cái câu nguy hiểm đó
4) Nên kiểm tra các biến trong quá trình chạy code VD Msgbox FCol
Sửa thử có được ko (Nguyên code của bạn đấy nhé, sửa tí thui)
[GPECODE=vb]Private Sub TextBox1_AfterUpdate()
Dim Clls As Range, Temp As Variant, I As Long, FCol As Long
Dim Arr, Arr1, sArray
sArray = Sheet11.Range("A3:U" & Sheet11.[A65536].End(xlUp).Row).Value '< thêm vào
'On Error Resume Next <== cho vào là để phòng trường hợp không có giá trị ngày thỏa mãn nên báo lỗi
FCol = 7 'FCoal = -(OptionButton1.Value + 7) = -6 <== bạn giải thích giúp cái nì ???
If Len(Trim(TextBox1.Value)) = 0 Then ListBox1.List() = sArray: Exit Sub
Arr = Filter2DArray(sArray, FCol, "*" & TextBox1.Value & "*", False)
If Not IsArray(Arr) Then ListBox1.Clear: Exit Sub
ListBox1.List() = Arr
End Sub[/GPECODE]