我需要使用VBA来过滤excel中的一些信息。由于我有20列的Excel,现在想要使用AutoFilter函数在某些列中搜索它是否包含一个值(例如:ID010)。我想要的是它将显示至少有一列包含ID010的所有行。
目前,我使用以下代码进行搜索。但是,它找不到任何数据,因为所有标准似乎都使用AND运算符
连接在一起' Search range, [argIn]---> search value
With [D5:M65536]
.AutoFilter Field:=4, Criteria1:=argIn
.AutoFilter Field:=5, Criteria1:=argIn
.AutoFilter Field:=6, Criteria1:=argIn
.AutoFilter Field:=7, Criteria1:=argIn
.AutoFilter Field:=8, Criteria1:=argIn
.AutoFilter Field:=9, Criteria1:=argIn
.AutoFilter Field:=10, Criteria1:=argIn
.AutoFilter Field:=11, Criteria1:=argIn
.AutoFilter Field:=12, Criteria1:=argIn
.AutoFilter Field:=13, Criteria1:=argIn
End With
我想知道是否有人可以给我一些提示或示例来处理这个问题。
提前谢谢。
答案 0 :(得分:2)
自动过滤器功能对您没有帮助,因为您已经发现行为是和过滤器一起使用。
一种方法是在电子表格中创建一个 control 列(可能通过VBA维护),其中填充了
等工作表函数=COUNTIF(A$2:A$20, "ID010")
然后将过滤器应用于控制列。