【问题标题】:Autofilter with multi-columns in Excel VBAExcel VBA中的多列自动筛选
【发布时间】:2010-03-18 09:29:32
【问题描述】:

我需要使用 VBA 来过滤 excel 中的一些信息。由于我有一个包含 20 列的 excel,现在想使用 AutoFilter 函数在某些列中搜索它是否包含一个值(例如:ID010)。我想要的是它会显示至少有一列包含 ID010 的所有行。

目前,我使用以下代码进行搜索。但是,它找不到任何数据,因为所有条件似乎都使用 AND 运算符联系在一起

' Search range, [argIn]---> search value
With [D5:M65536]
        .AutoFilter Field:=4, Criteria1:=argIn
        .AutoFilter Field:=5, Criteria1:=argIn
        .AutoFilter Field:=6, Criteria1:=argIn
        .AutoFilter Field:=7, Criteria1:=argIn
        .AutoFilter Field:=8, Criteria1:=argIn
        .AutoFilter Field:=9, Criteria1:=argIn
        .AutoFilter Field:=10, Criteria1:=argIn
        .AutoFilter Field:=11, Criteria1:=argIn
        .AutoFilter Field:=12, Criteria1:=argIn
        .AutoFilter Field:=13, Criteria1:=argIn
End With

我想知道是否有人可以给我一些提示或示例如何处理这个问题。

提前谢谢你。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    自动过滤功能在这里对您没有帮助,因为您发现行为是将过滤器组合在一起。

    一种方法是在电子表格(可能通过 VBA 维护)中有一个 control 列,其中填充了诸如

    之类的工作表函数
    =COUNTIF(A$2:A$20, "ID010")
    

    然后将过滤器应用于控制列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多