Excel listview只反映过滤后的数据

Excel listview只反映过滤后的数据,excel,vba,Excel,Vba,我只想显示过滤后的数据,但下面的代码正在从电子表格检索所有数据 列表视图应仅反映列A的值与textbox1.text匹配的数据。请帮忙 Dim item As ListItem Dim linhafinal As Integer ListView8.ListItems.Clear linhafinal = k + 1 For i = 2 To linhafinal Set item = ListView8.ListItems.Add(, , ws1.Cells(i, 1))

我只想显示过滤后的数据,但下面的代码正在从电子表格检索所有数据

列表视图应仅反映列
A
的值与
textbox1.text
匹配的数据。请帮忙

Dim item As ListItem
Dim linhafinal As Integer

ListView8.ListItems.Clear

linhafinal = k + 1

For i = 2 To linhafinal
    Set item = ListView8.ListItems.Add(, , ws1.Cells(i, 1))
    item.ListSubItems.Add Text:=ws1.Cells(i, 2)
    item.ListSubItems.Add Text:=ws1.Cells(i, 3)
    item.ListSubItems.Add Text:=ws1.Cells(i, 4)
    item.ListSubItems.Add Text:=ws1.Cells(i, 5)
    item.ListSubItems.Add Text:=ws1.Cells(i, 6)
    item.ListSubItems.Add Text:=ws1.Cells(i, 7)
    item.ListSubItems.Add Text:=ws1.Cells(i, 8)
    item.ListSubItems.Add Text:=ws1.Cells(i, 9)
    item.ListSubItems.Add Text:=ws1.Cells(i, 10)
Next

您将遍历整个范围并将其添加到listview,因此您将获得所有数据。检查值是否匹配
TextBox1.Text
,然后添加它们

这就是你正在尝试的(未经测试的)吗


或者,在过滤范围后,循环遍历可见范围,然后将其添加到listview。目前您的代码正在添加所有这些…

谢谢Rout。你能帮我编码吗
Dim item As ListItem
Dim linhafinal As Integer

ListView8.ListItems.Clear

linhafinal = k + 1

For i = 2 To linhafinal
    If ws1.Cells(i, 1).Value = TextBox1.Text Then
        Set item = ListView8.ListItems.Add(, , ws1.Cells(i, 1))
        item.ListSubItems.Add Text:=ws1.Cells(i, 2)
        item.ListSubItems.Add Text:=ws1.Cells(i, 3)
        item.ListSubItems.Add Text:=ws1.Cells(i, 4)
        item.ListSubItems.Add Text:=ws1.Cells(i, 5)
        item.ListSubItems.Add Text:=ws1.Cells(i, 6)
        item.ListSubItems.Add Text:=ws1.Cells(i, 7)
        item.ListSubItems.Add Text:=ws1.Cells(i, 8)
        item.ListSubItems.Add Text:=ws1.Cells(i, 9)
        item.ListSubItems.Add Text:=ws1.Cells(i, 10)
    End If
Next