【问题标题】:VBA - autofilter - always hide exact valueVBA - 自动过滤器 - 总是隐藏确切的值
【发布时间】: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,我需要隐藏它。请问有谁知道怎么做?

非常感谢!

【问题讨论】:

    标签: vba excel filtering


    【解决方案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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-04-30
        • 1970-01-01
        • 2020-11-12
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 2015-10-29
        相关资源
        最近更新 更多