VBA - 自动过滤器 - 总是隐藏确切的值
Posted
技术标签:
【中文标题】VBA - 自动过滤器 - 总是隐藏确切的值【英文标题】:VBA - autofilter - always hide exact value 【发布时间】:2018-04-16 06:54:28 【问题描述】:我有自动过滤器的代码,它总是在 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
但是我需要添加另一个过滤器,它总是会在 P 列中隐藏零。我的意思是,我知道,我必须将值放入我想过滤的“标准”中。但是这些值将是变量,但总会有 0,我需要隐藏它。请问有谁知道怎么做?
非常感谢!
【问题讨论】:
【参考方案1】:请尝试Criteria1:="<>0"
过滤除 0 以外的所有内容
【讨论】:
对不起,我解释错了。我想过滤除 0 以外的所有值。 好的,我已经改变了答案……现在可以了。【参考方案2】:此代码还将从 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
【讨论】:
【参考方案3】:试试:
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
【讨论】:
以上是关于VBA - 自动过滤器 - 总是隐藏确切的值的主要内容,如果未能解决你的问题,请参考以下文章