Nếu là mình thì mình tạo thêm 1 cột phụ, trong trường hợp công việc của mình thì mình thường tìm tồn kho theo PO hoặc PR hoặc Item number-Lot number nên mình sẽ tạo 1 cột phụ -cột A đi,với công thức =PO&PR&ITEM NUMBER&LOT NUMBER.Khi mình filter thì mình sẽ chỉ filter cột A với bất kỳ data nào mình có.
Còn lười nữa thì tạo cột Phụ. Sau đó chuyển data thành dạng Table. Sau đó thì chèn 1 textbox ActiveX.
Linkedcell textbox này với ô A1 và thêm đoạn mã này:
Private Sub TextBox1_Change()
Dim xStr, xName As String
Dim xWS As Worksheet
Dim xRg As Range
On Error GoTo Err01
Application.ScreenUpdating = False
xName = "table1"
xStr = TextBox1.Text
Set xWS = ActiveSheet
Set xRg = xWS.ListObjects(xName).Range
If xStr <> "" Then
xRg.AutoFilter field:=1, Criteria1:="*" & xStr & "*", Operator:=xlFilterValues
Else
xRg.AutoFilter field:=1, Operator:=xlFilterValues
End If
Err01:
Application.ScreenUpdating = True
End Sub
Nhưng thành thật thì mình chỉ nếu ý kiến cho nhu cầu của bạn chứ mình không làm. Do data mình nhiều ,nhu cầu filter ít mà tạo table nó nặng file, hic.