Private Sub TextBox1_Change() '[COLOR=#0000cd]=> Nếu thực sự không cần gõ thêm 1 kí tự thì tìm ngay nên dùng _AfterUpdate[/COLOR]
LoadDT
End Sub
'================================================
Sub LoadDT()
Dim Dk As String, Arr(), Tm
On Error GoTo Thoat
Dk = UCase(Trim(Me.TextBox1)) & "*"
Tm = Sheet1.Range("A2:[COLOR=#ff0000]C[/COLOR]" & Sheet1.[A65536].End(xlUp).Row) '<= Code bạn viết chỗ màu đỏ là [COLOR=#ff0000]cột AB[/COLOR] để làm gì???
Arr = Filter2DArray(Tm, 3, [COLOR=#ff0000]Dk[/COLOR], False) '<= Đã có [COLOR=#ff0000]Dk[/COLOR] ở trên sao không đưa vào, bạn lại viết lại [COLOR=#0000cd]UCase(Trim(Me.TextBox1)) & "*"[/COLOR] là thừa
If ListBox1.ListCount > 0 Then ListBox1.Clear
ListBox1.List() = Arr: Exit Sub
Thoat:
If ListBox1.ListCount > 0 Then ListBox1.Clear
End Sub
'================================================
Private Sub UserForm_Initialize()
Dim Lg(), Lg1(), Td, i
Lg = Array(15, 100, 250)
Lg1 = Array(20, 40, 250)
Td = "|"
For i = 1 To 3
Td = Td & Left(Sheet1.Cells(1, i) & Space(130), Lg1(i - 1)) & "|"
Next
Label1.Caption = Td
With ListBox1
.ColumnCount = UBound(Lg) + 1
.ColumnWidths = Join(Lg, ";")
[COLOR=#0000cd].List() = Sheet1.Range("A2:C" & Sheet1.[A65536].End(xlUp).Row).Value[/COLOR] 'Nạp Listbox bình thường, không cần chạy Sub LoadDT cho tốn nhiều công đoạn
End With
End Sub