【问题标题】:Autofilter for multiple not equal values自动过滤多个不相等的值
【发布时间】:2015-11-13 05:00:11
【问题描述】:

我正在为 excel 表添加自动过滤器,如下所示。

With Sheets("Sheet1")
With .ListObjects("Summary").Range
    .AutoFilter Field:=1, Criteria1:=">400000", Operator:=xlOr, Criteria2:=Array("<>440400", "<>440600", "<>440300")
    .AutoFilter Field:=5, Criteria1:=">110", Operator:=xlAnd, Criteria1:="<105"
    .SpecialCells(xlCellTypeVisible).Copy
End With
End With

n 结果我得到的值大于 400000 。但是我在结果中也得到了 440400,440600 和 440300 值。如何添加两个过滤器?

【问题讨论】:

  • 您只能在一个标准中包含总共两个不等于。要执行更多操作,您需要使用 Range 对象的 AdvancedFilter。
  • AvancedFiltered 是 xls、Tab Data、Avanced 中的 STD 函数。您可以使用 excel 帮助或查看onlinepclearning.com/vba-advanced-filter-multiple-criteria

标签: vba excel


【解决方案1】:

据我所知,目前还做不到。

我的工作:

1) 突出显示符合条件的记录,一个一个循环

2) 然后按高光过滤

希望有帮助!

【讨论】:

    【解决方案2】:

    我知道这不符合您的确切规格(我不确定优先顺序,所以我只是编造了),但这应该可以:

    将字段作为公式添加到表中,类似于:

    =if(OR(AND(Field1>=400000,Field1<>440400,Field1<>440600,Field1<>440300),
       AND(Field5<110,Field5>105))
    

    再一次,我完全是根据你的值编造出来的,所以我意识到它并不一致,实际的字段名称也不匹配。

    然后,在这个新列/字段上过滤您的 vba 代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 2021-06-16
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多