
vba执行筛选,需要筛选的值是多个单元格的值
我现在会用Criteria1:=Range("B7")来进行单项的筛选,如果我要筛选的条件是B7B8B13三格的值,应该用什么代码?array好像不行...
我现在会用 Criteria1:=Range("B7")来进行 单项的筛选, 如果我要筛选的条件是 B7 B8 B13 三格的值,应该用什么代码?
array好像不行 展开
array好像不行 展开
展开全部
说个例子:假设你要筛选的值为:1,2,3 最好放在一个单元格;
Dim x
x = "1,2,3"
ActiveSheet.Range("$B$1:$B$8").AutoFilter Field:=1, Criteria1:=Split(x, ","), Operator:=xlFilterValues
当然也你可以填到条件这里面:
Criteria1:=Array("1", "2", "3")
Dim x
x = "1,2,3"
ActiveSheet.Range("$B$1:$B$8").AutoFilter Field:=1, Criteria1:=Split(x, ","), Operator:=xlFilterValues
当然也你可以填到条件这里面:
Criteria1:=Array("1", "2", "3")
追问
主要我这几个条件经常会改,所以用辅助表列出来,方便改,同时不影响vba 控制的输出表。
这样放在一个单元格里的就不行了。
至于楼下那些录宏的……我真是无语,能录宏我还来问个毛线啊。
追答
那你把值放在单元格一样啥。
比如你想筛选的值为1,2,3分别放在A1,A2,A3; 当然,如果你条件很多的话,就需要字符串连接了。不过都是有办法 的。
Dim x
x =range("a1") .value& "," & range("a2") .value & "," & range("a3").value
ActiveSheet.Range("$B$1:$B$8").AutoFilter Field:=1, Criteria1:=Split(x, ","), Operator:=xlFilterValues
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询