Excel VBA中的多重过滤?

K20*_*0GH 6 excel vba excel-vba

我正在尝试使用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"
Run Code Online (Sandbox Code Playgroud)

如果我按"是"进行过滤,那么它可以工作,如果我按"过滤"过滤它也可以.但是,如果我尝试过滤范围K2-ZZ200为是,然后将E列过滤,它似乎隐藏了所有内容.

有任何想法吗?

Rya*_*yan 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"
Run Code Online (Sandbox Code Playgroud)

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