使用按钮VBA Excel过滤ListView

时间:2018-11-08 05:57:01

标签: excel excel-vba listview

您好,我是VBA Excel的新手,我做了一个项目,可将数据从工作表显示到列表视图。然后我放了一个comboBox和一个按钮来搜索特定的客户。我要做的就是在组合框中选择一个客户名称,当我单击按钮时,它应该显示特定客户的所有记录。我将此代码放入了按钮:

Private Sub CommandButton4_Click()
If Me.ComboBox1.Value = "" Then
    MsgBox "Search box is empty! Please choose a customer to search!",vbCritical

Else

    With Me.ListView1
         .HideColumnHeaders = False
         .View = lvwReport

    End With

    Dim wksh As Worksheet
    Dim rngData As Range
    Dim rngCell As Range
    Dim listItem As listItem
    Dim rowCount As Long
    Dim colCount As Long
    Dim i As Long
    Dim j As Long
    Dim k As Long

    Set wksh = Worksheets("Database")
    Set rngData = wksh.Range("A1").CurrentRegion

    For Each rngCell In rngData.Rows(1).Cells
        Me.ListView1.ColumnHeaders.Add Text:=rngCell.Value, Width:=100
    Next rngCell


    rowCount = rngData.Rows.Count

    colCount = rngData.Columns.Count

    For k = 2 To rowCount
        Set Search = Me.ListView1.ListItems.Add(Text:=rngData(k, 2).Value)
        If ComboBox1.Value = Search Then

            For i = 2 To rowCount
                Set listItem = Me.ListView1.ListItems.Add(Text:=rngData(i, 1).Value)
                For j = 2 To colCount
                    listItem.ListSubItems.Add Text:=rngData(i, j).Value
                Next j
            Next i

        End If
    Next k

End If

End Sub

有人可以帮助我吗?谢谢:)

0 个答案:

没有答案