VBA – 自动filter – 总是隐藏确切的价值

我有自动filter的代码,它总是select列“R”中的“TOP”和“TOP 100”

Sub Filter() With Worksheets("Overview") Range("A1:S1").Select Selection.AutoFilter ActiveSheet.Range("$A$1:$S$9999").AutoFilter Field:=18, Criteria1:="=TOP", _ Operator:=xlOr, Criteria2:="=TOP 100" End With End Sub 

但是我需要添加另外一个filter,它总是在P列中隐藏零。我的意思是,我知道,我必须将值放入“标准”,我想过滤。 但是,这些值将是variables,但总是会有0,我需要隐藏。 有谁知道,请问该怎么做?

非常感谢!

尝试:

 Sub Filtre() Dim r As Range Set r = Worksheets("Overview").Range("A:S") r.AutoFilter Field:=18, Criteria1:="=TOP", Operator:=xlOr, Criteria2:="=TOP 100" r.AutoFilter Field:=16, Criteria1:="<>0", Operator:=xlAnd End Sub 

请尝试Criteria1:="<>0"来过滤除0之外的所有内容

这段代码也会从列P中过滤掉0:

 Sub Filter() With Worksheets("Overview").Range("$A$1:$S$9999") .AutoFilter Field:=18, Criteria1:="=TOP", Operator:=xlOr, Criteria2:="=TOP 100" .AutoFilter Field:=16, Criteria1:="<>0" End With End Sub