Lọc dữ liệu trong Listview và Listbox (5 người xem)

Liên hệ QC

Người dùng đang xem chủ đề này

Onlyd2016

Thành viên mới
Tham gia
20/2/19
Bài viết
6
Được thích
1
Xin chào mọi người. Mình mới bất đầu học VBA nên chưa biết nhiều. Mong mọi người giúp đỡ.
Mình có 1 file excel dữ liệu gần 10000 dòng. Mình có làm 2 UserForm để lọc dũ liệu 1 cái dùng Listbox, 1 cái dùng ListView
- ở UserForm1 dung listbox : Lọc dữ liệu thì Ok nhưng khi click vào listbox thì không xuất ra Textbox Được.
- Ở UserForm2 Dùng ListView : Thì mình không biết phải viết code Lọc Dữ liệu như thế nào.
Mong mọi người giúp đỡ ạ.
 

File đính kèm

Xin chào mọi người. Mình mới bất đầu học VBA nên chưa biết nhiều. Mong mọi người giúp đỡ.
Mình có 1 file excel dữ liệu gần 10000 dòng. Mình có làm 2 UserForm để lọc dũ liệu 1 cái dùng Listbox, 1 cái dùng ListView
- ở UserForm1 dung listbox : Lọc dữ liệu thì Ok nhưng khi click vào listbox thì không xuất ra Textbox Được.
- Ở UserForm2 Dùng ListView : Thì mình không biết phải viết code Lọc Dữ liệu như thế nào.
Mong mọi người giúp đỡ ạ.
Cả 85 cột mà bạn add lên ListBox, ListView quả thật là siêu! Tôi mà như bạn chỉ nạp các cột cần thiết lên, chừng 10 cột là nhiều lắm rồi.
Việc click một Item vào ListBox hay ListView đều cho ra kết quả tại các TextBox được nhé bạn.
 
A không. File nguồn thì có 85 cột.... mình chỉ cần nạp 32 cột ak.... trong listview thì mình nạp 32 cột r
 
A không. File nguồn thì có 85 cột.... mình chỉ cần nạp 32 cột ak.... trong listview thì mình nạp 32 cột r
Tôi làm thử cho bạn xem ở UserForm1 với ListBox nhé, chẳng có lỗi gì cả! Tương tự với ListBox, bạn tự làm lấy.
PHP:
Private priArrData

Private Sub UserForm_Initialize()
    Dim e As Long
    Dim shCTT As Worksheet
    Set shCTT = Sheets("CTT")
    e = shCTT.Range("A" & shCTT.Rows.Count).End(xlUp).Row
    ListBox1.List = shCTT.Range("A2:CG" & e).Value
    priArrData = ListBox1.Column
End Sub


Private Sub CommandButton1_Click()
    If ComboBox1.Text = "" Then
        ListBox1.Column = priArrData
    Else
        Dim c As Byte
        Dim arrFilter()
        Dim n As Long, r As Long, uCol As Long, uRow As Long
        uRow = UBound(priArrData, 1)
        uCol = UBound(priArrData, 2)
        For r = 0 To uCol
            If LCase(priArrData(0, r)) Like "*" & LCase(ComboBox1.Text) & "*" Then
                ReDim Preserve arrFilter(0 To uCol, 0 To n)
                For c = 0 To uRow
                    arrFilter(c, n) = priArrData(c, r)
                Next
                n = n + 1
            End If
        Next
        If n Then
            ListBox1.Column = arrFilter
        Else
            ListBox1.Clear
        End If
    End If
End Sub


Private Sub ListBox1_Click()
    Dim c As Long, r As Long
    If ListBox1.ListIndex > -1 Then
        For c = 2 To 11
            Me("TextBox" & c).Text = ListBox1.List(, 71 + c)
        Next
        TextBox12.Text = ListBox1.List(, 60)
        TextBox13.Text = ListBox1.List(, 61)
        TextBox14.Text = ListBox1.List(, 62)
    End If
End Sub
 

File đính kèm

Cả 85 cột mà bạn add lên ListBox, ListView quả thật là siêu! Tôi mà như bạn chỉ nạp các cột cần thiết lên, chừng 10 cột là nhiều lắm rồi.
Việc click một Item vào ListBox hay ListView đều cho ra kết quả tại các TextBox được nhé bạn.
cho em xin cái code chọn cột cần add với ạ
 
Web KT

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

Back
Top Bottom