在自动筛选条件中使用多个单元格值
use multiple cell values in autofilter criteria
请帮我解决这个问题:
1) 单元格 P1、P2、P3、P4 中的值是用户定义的词,例如 "F"、"S" 和 NA...
2) 使用用户定义的值作为过滤范围(Y2:Y2999)
中数据的条件
我试过但没有用的是:
Sub c1()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
a = Cells(1, 16).Value
b = Cells(2, 16).Value
c = Cells(3, 16).Value
d = Cells(4, 16).Value
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
End Sub
我认为您应该添加 Criteria2
、Criteria3
和 Criteria4
。
我会更新这一行
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
成为
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1, _
Criteria1:="=" & a, _
Operator:=xlOr, _
Criteria2:="=" & b, _
Operator:=xlOr, _
Criteria3:="=" & c, _
Operator:=xlOr, _
Criteria4:="=" & d
或者如果您打算这样做:
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
您应该尝试添加 xlFilterValues
运算符,使其看起来像这样:
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1, _
Criteria1:=Array(a, b, c, d), _
Operator:=xlFilterValues
请帮我解决这个问题:
1) 单元格 P1、P2、P3、P4 中的值是用户定义的词,例如 "F"、"S" 和 NA...
2) 使用用户定义的值作为过滤范围(Y2:Y2999)
中数据的条件我试过但没有用的是:
Sub c1()
Dim a As String
Dim b As String
Dim c As String
Dim d As String
a = Cells(1, 16).Value
b = Cells(2, 16).Value
c = Cells(3, 16).Value
d = Cells(4, 16).Value
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
End Sub
我认为您应该添加 Criteria2
、Criteria3
和 Criteria4
。
我会更新这一行
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
成为
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1, _
Criteria1:="=" & a, _
Operator:=xlOr, _
Criteria2:="=" & b, _
Operator:=xlOr, _
Criteria3:="=" & c, _
Operator:=xlOr, _
Criteria4:="=" & d
或者如果您打算这样做:
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
您应该尝试添加 xlFilterValues
运算符,使其看起来像这样:
ActiveSheet.Range("$Y:$Y99").AutoFilter Field:=1, _
Criteria1:=Array(a, b, c, d), _
Operator:=xlFilterValues