请帮助我解决这个问题:
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$2:$Y$2999").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
End Sub
答案 0 :(得分:1)
我相信你应该添加Criteria2
,Criteria3
和Criteria4
。
我会更新这一行
ActiveSheet.Range("$Y$2:$Y$2999").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
要
ActiveSheet.Range("$Y$2:$Y$2999").AutoFilter Field:=1, _
Criteria1:="=" & a, _
Operator:=xlOr, _
Criteria2:="=" & b, _
Operator:=xlOr, _
Criteria3:="=" & c, _
Operator:=xlOr, _
Criteria4:="=" & d
或者如果您打算这样做:
ActiveSheet.Range("$Y$2:$Y$2999").AutoFilter Field:=1,_
Criteria1:=Array(a, b, c, d)
您应该尝试添加xlFilterValues
运算符,使其看起来像这样:
ActiveSheet.Range("$Y$2:$Y$2999").AutoFilter Field:=1, _
Criteria1:=Array(a, b, c, d), _
Operator:=xlFilterValues