Tạo TextBox Tìm Kiếm Dữ Liệu Excel Bằng VBA

 Tạo TextBox Tìm Kiếm Dữ Liệu Excel bằng VBA

Lọc, tìm kiếm dữ liệu tự động bằng Textbox trong Excel


Ví dụ, bạn có một danh sách bao gồm các tên như sau:


Để có thể lọc, tìm nhanh hơn cho cột Tên này?
Bạn hãy thực hiện các bước sau đây:

Bước 1: Đầu tiên, bạn cần đưa vùng danh sách cần tìm kiếm về dạng Table trong Excel: chọn toàn bộ danh sách => bấm vào thẻ Insert => chọn mục Table.



Bước 2: Khi đó sẽ hiện ra hộp thoại Create Table (đánh dấu vào My table has headers) ⇒ OK



Bước 3: Tạo khung TextBox bằng cách chọn thẻ Developer => Insert => Text Box (ActiveX Control) để chèn hộp văn bản vào Excel

Bước 4: Vẽ TextBox ở trị trí mong muốn 

Ngoài ra chúng ta có thể giới hạn ký tự tối đa trong TextBox bằng cách chuột phải vào TextBox chọn Properties ⇒ MaxLength (điền số lượng ký tự tối đa, ví dụ dưới hình là 10 ký tự)



Bước 5: Chèn Code vào TextBox bằng cách chuột phải vào TextBoxViewCode

 

Thay thế đoạn Code bên dưới vào Excel

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


Lưu ý:  Table1 là tên của TableTextBox1 là tên của TextBox. Để xem tên bảng bạn có thể làm như sau:

Tô toàn bộ bảng cần chọn Table Design ⇒ Table Name 


Bạn có thể thay đổi tên bảng khác theo ý muốn nhưng phải thống nhất về tên bảng với tên trong đoạn code.

ớc 6: Đóng cửa sổ VBA lại.

ớc 7: Tắt chế độ Design Mode bằng cách click vào Developer => Design Mode.

 

Dưới đây là kết quả: 



Post a Comment

Mới hơn Cũ hơn
//13.12.2023