过滤一个单元格中定义的多个条件

时间:2018-03-23 08:03:57

标签: arrays excel vba filter

我想对1个字段应用具有多个条件的自动过滤器,即“InputColumnNo”中的值应该具有值A或B.问题是我应该在Excel的一个单元格中输入这些过滤条件的定义。 我尝试使用一个数组,并在单元格F7中输入类似“(A,B)”的内容,然后使用下面的代码,但这不起作用。有没有人可以帮助我?

Value = Range("F7")
wsinput.Rows(1).AutoFilter field:=InputColumnNo, Criteria1:=Array(Value),
VisibleDropDown:=False

1 个答案:

答案 0 :(得分:1)

这是一个使用或过滤的例子,我有" A,B"在Range("I2")

Option Explicit

Sub Test()

Dim value As String
value = Range("I2")
Dim valuesArr() As String

valuesArr = Split(value, ",")

    ActiveSheet.Range("$F$1:$G$5").AutoFilter Field:=2, Criteria1:=valuesArr(0), _
        Operator:=xlOr, Criteria2:=valuesArr(1)
End Sub

从阵列分配

Option Explicit

Sub Test()

Dim value As String
value = Range("I2")
Dim valuesArr() As String

valuesArr = Split(value, ",")

    ActiveSheet.Range("$F$1:$G$5").AutoFilter Field:=2, Criteria1:=valuesArr, Operator:=xlFilterValues

End Sub