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"

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

有任何想法吗?

最佳答案
对于两个AutoFilter语句,您必须使用相同的范围(“$K $2:$ZZ $200”):

' 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,但我不完全确定.

转载注明原文:Excel VBA中的多重过滤? - 代码日志