giúp đỡ userform tra cứu thông tin

Liên hệ QC

xuantamc6

Thành viên hoạt động
Tham gia
18/11/13
Bài viết
157
Được thích
59
em có một file quản lý khách hàng, trong sheet HOME có mục "CHI TIẾT THÔNG TIN KHÁCH HÀNG" . Tại đây em tạo ra một userform với mục đích tìm kiếm nhanh các dữ liệu tại sheet THONGTINKH. Khi chỉ cần gõ tên của khách hàng vào texbox là các thông tin từ cột B đến cột G của sheet THONGTINKH sẽ hiện ra trong phần listbox phía dưới.
Nhờ các anh chị hỗ trợ giúp em ạ
em cám ơn
 

File đính kèm

Xin chào!
bạn có thể tham khảo bài viết có trên GPE tại demo form tìm kiếm
dưới đây là code mình tự làm, gửi đến bạn tham khảo thử
Mã:
Private Sub TextBox1_Change()

    Dim ws As Worksheet
    Set ws = Worksheets("THONGTINKH")
    
    Dim listboxIndex As Long, textToFind As String
    textToFind = "*" & Me.TextBox1.Text & "*"
    
    UserForm2.ListBox1.Clear
    UserForm2.ListBox1.List = ws.Range(ws.Range("B4"), ws.Range("G" & ws.Rows.Count).End(xlUp)).Value
    
    For listboxIndex = UserForm2.ListBox1.ListCount - 1 To 0 Step -1
        If Not LCase(UserForm2.ListBox1.List(listboxIndex, 0)) Like LCase(textToFind) Then
            UserForm2.ListBox1.RemoveItem listboxIndex
        End If
    Next listboxIndex

End Sub


Private Sub UserForm_Initialize()
    
    Dim ws As Worksheet
    Set ws = Worksheets("THONGTINKH")
    
    UserForm2.ListBox1.ColumnCount = 6
    UserForm2.ListBox1.List = ws.Range(ws.Range("B4"), ws.Range("G" & ws.Rows.Count).End(xlUp)).Value
    
End Sub
 
Upvote 0
Xin chào!
bạn có thể tham khảo bài viết có trên GPE tại demo form tìm kiếm
dưới đây là code mình tự làm, gửi đến bạn tham khảo thử
Mã:
Private Sub TextBox1_Change()

    Dim ws As Worksheet
    Set ws = Worksheets("THONGTINKH")
   
    Dim listboxIndex As Long, textToFind As String
    textToFind = "*" & Me.TextBox1.Text & "*"
   
    UserForm2.ListBox1.Clear
    UserForm2.ListBox1.List = ws.Range(ws.Range("B4"), ws.Range("G" & ws.Rows.Count).End(xlUp)).Value
   
    For listboxIndex = UserForm2.ListBox1.ListCount - 1 To 0 Step -1
        If Not LCase(UserForm2.ListBox1.List(listboxIndex, 0)) Like LCase(textToFind) Then
            UserForm2.ListBox1.RemoveItem listboxIndex
        End If
    Next listboxIndex

End Sub


Private Sub UserForm_Initialize()
   
    Dim ws As Worksheet
    Set ws = Worksheets("THONGTINKH")
   
    UserForm2.ListBox1.ColumnCount = 6
    UserForm2.ListBox1.List = ws.Range(ws.Range("B4"), ws.Range("G" & ws.Rows.Count).End(xlUp)).Value
   
End Sub
Cám ơn ducdoom nhiều nhé
 
Upvote 0
Web KT

Bài viết mới nhất

Back
Top Bottom