7

我正在尝试使用 2 列和 2 个不同的过滤器要求过滤我的数据。

    ActiveSheet.AutoFilterMode = False
    ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=5, Criteria1:="yes"
    ActiveSheet.Range("E:E").AutoFilter Field:=1, Criteria1:="Low"

如果我按“是”过滤,那么它可以工作,如果我按“低”过滤,它也可以工作。但是,如果我尝试用 yes 过滤范围 K2-ZZ200,然后用 Low 过滤 E 列,它似乎隐藏了所有内容。

有任何想法吗?

4

2 回答 2

5

您必须Range("$K$2:$ZZ$200")对两个AutoFilter语句使用相同的:

' Column A = Field 1
ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=1, Criteria1:="yes"
' Column E = Field 5
ActiveSheet.Range("$K$2:$ZZ$200").AutoFilter Field:=5, Criteria1:="Low"

此外,您可能需要设置ActiveSheet.AutoFilterMode = True,但我不完全确定。

于 2012-08-20T16:10:32.450 回答
0

几乎。设法使用数组来做到这一点。顺便说一下,范围不需要相同。

     ActiveSheet.AutoFilterMode = False
    ActiveSheet.Range("$E$2:$ZZ$200").AutoFilter Field:=nice, Criteria1:="yes"
    ActiveSheet.Range("$E$2:$ZZ$200").AutoFilter Field:=1, Criteria1:=Array( _
    "Filter 1", ""Filter 2", "On "Filter 3", ""Filter 4", ""Filter 5"), Operator:=xlFilterValues
于 2012-08-21T08:28:35.967 回答