[help ! Lỗi Code ] Combobox control listbox !

Liên hệ QC

guitarnguyen1989

Thành viên chính thức
Tham gia
31/7/16
Bài viết
59
Được thích
7
Mình có 1 user form tìm kiếm sản phẩm .

- Mình tạo một combobox (tên=CBDMHH) để control listbox . Vấn đề là : khi mình lựa chọn các item ( New, old, cancel) trong combobox thì listbox ko tự update trong listbox.

- Mình muốn khi lựa chọn item trong combobox thì listbox tự update các mục theo như combobox . nhờ các A/C, Master giúp đỡ phần code này ! thanks
 

File đính kèm

Lần chỉnh sửa cuối:
Mình có 1 user form tìm kiếm sản phẩm .

- Mình tạo một combobox (tên=CBDMHH) để control listbox . Vấn đề là : khi mình lựa chọn các item ( New, old, cancel) trong combobox thì listbox ko tự update trong listbox.

- Mình muốn khi lựa chọn item trong combobox thì listbox tự update các mục theo như combobox . nhờ các A/C, Master giúp đỡ phần code này ! Cảm ơn
Bạn đã nói ra điều kiện lọc nhưng tôi không thấy điều kiện lọc này trong Data.
Bạn cần nói rõ New, Old, Cancel tương ứng với giá trị nào, cột nào trong Data.
 
Upvote 0
Bạn đã nói ra điều kiện lọc nhưng tôi không thấy điều kiện lọc này trong Data.
Bạn cần nói rõ New, Old, Cancel tương ứng với giá trị nào, cột nào trong Data.
tương ứng với giá trị trong sheet data cột số 2
Bài đã được tự động gộp:

Bạn đã nói ra điều kiện lọc nhưng tôi không thấy điều kiện lọc này trong Data.
Bạn cần nói rõ New, Old, Cancel tương ứng với giá trị nào, cột nào trong Data.
minh moi update lại file . bạn xem dùm mình
 
Upvote 0
tương ứng với giá trị trong sheet data cột số 2
Bài đã được tự động gộp:


minh moi update lại file . bạn xem dùm mình
Bạn thử xem đúng ý không nhé!
Copy code sau vào Module
PHP:
Public Function FilterListBox(Criteria As String)
    Dim sArr(), tArr(), dArr(), lastRow As Long
    Dim I As Long, J As Long, K As Long
    
    With Sheet14
        lastRow = .Cells(Rows.Count, "C").End(xlUp).Row
        If lastRow > 3 Then
            sArr() = Sheet14.Range("A4:BJ" & lastRow).Value
        End If
    End With
    
    ReDim tArr(1 To UBound(sArr, 1), 1 To UBound(sArr, 2))
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 2) = Criteria Then
            K = K + 1
            For J = 1 To UBound(sArr, 2)
                tArr(K, J) = sArr(I, J)
            Next J
        End If
    Next I
    
    ReDim dArr(1 To K, 1 To UBound(tArr, 2))
    For I = 1 To K
        For J = 1 To UBound(tArr, 2)
            dArr(I, J) = tArr(I, J)
        Next J
    Next I
    
    FilterListBox = dArr
End Function
Code nữa cho Userform, sự kiện combobox change
PHP:
Private Sub CBDMHH_Change()
    Dim FilterArray()
    If CBDMHH.Value <> "ALL" Then
        FilterArray = FilterListBox(CBDMHH.Value)
        lst_Employee_info.Clear
        lst_Employee_info.List = FilterArray
    End If
End Sub
 
Upvote 0
Bạn thử xem đúng ý không nhé!
Copy code sau vào Module
PHP:
Public Function FilterListBox(Criteria As String)
    Dim sArr(), tArr(), dArr(), lastRow As Long
    Dim I As Long, J As Long, K As Long
   
    With Sheet14
        lastRow = .Cells(Rows.Count, "C").End(xlUp).Row
        If lastRow > 3 Then
            sArr() = Sheet14.Range("A4:BJ" & lastRow).Value
        End If
    End With
   
    ReDim tArr(1 To UBound(sArr, 1), 1 To UBound(sArr, 2))
    For I = 1 To UBound(sArr, 1)
        If sArr(I, 2) = Criteria Then
            K = K + 1
            For J = 1 To UBound(sArr, 2)
                tArr(K, J) = sArr(I, J)
            Next J
        End If
    Next I
   
    ReDim dArr(1 To K, 1 To UBound(tArr, 2))
    For I = 1 To K
        For J = 1 To UBound(tArr, 2)
            dArr(I, J) = tArr(I, J)
        Next J
    Next I
   
    FilterListBox = dArr
End Function
Code nữa cho Userform, sự kiện combobox change
PHP:
Private Sub CBDMHH_Change()
    Dim FilterArray()
    If CBDMHH.Value <> "ALL" Then
        FilterArray = FilterListBox(CBDMHH.Value)
        lst_Employee_info.Clear
        lst_Employee_info.List = FilterArray
    End If
End Sub
oh yeahhhhhh ! T hanks master... i like it
 
Upvote 0
Upvote 0

File đính kèm

Upvote 0
Web KT

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

Back
Top Bottom