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