【问题标题】:Add two criterias in VBA range filter在 VBA 范围过滤器中添加两个条件
【发布时间】:2015-10-04 21:24:53
【问题描述】:

我正在尝试根据过滤器 1 和过滤器 2 选择一系列值,然后删除所有这些值;这样我在列中只剩下 filter1 和 filter2 值。我可以添加一个过滤器,但我无法添加两个过滤器。请帮助/指导。

代码:

Case "Sheet-1"
                         iCol = 2
                         Rows("4:4").Select      
                         Selection.AutoFilter
                         ActiveSheet.Range("$A$4:$WXR$99999").AutoFilter Field:=iCol, Criteria1:= _
                         "<>*ABC*", Operator:=xlOr, Criteria2:="<>XYZ*"
                         Rows("5:5").Select 
                         Range(Selection, Selection.End(xlDown)).Select
                         Range(Selection, Selection.End(xlDown)).Select
                         Selection.Delete Shift:=xlUp
                         ActiveSheet.Range("$A$4:$WXR$99999").AutoFilter Field:=iCol

【问题讨论】:

  • 您是否尝试过仅录制宏并使用手动单击过滤器的代码?
  • @Constuntine : 抱歉我没听懂你
  • 如果您转到开发人员选项卡并单击Record Macro。它将为您提供您正在做的所有事情的 VBA 代码。所以只需点击Record Macro。然后选择要过滤的内容。转到Data 选项卡并选择过滤器。它会在您选择的任何数据上放置一个箭头。单击箭头并放置过滤器。之后,返回并单击Stop Recording。然后转到您的代码编辑器,那里将有一个模块,其中包含您需要过滤的代码。然后只需将其复制并粘贴到您需要的位置即可。
  • 我不懂你的过滤器。任何值都是 "ABC" 或 "XYZ"。也许你的意思是使用 xlAnd
  • @Constuntine : 非常感谢……我照你说的做了

标签: vba excel


【解决方案1】:

您在第二个过滤器中的标准是什么?我想那一个不见了。

【讨论】:

  • 谢谢桑桑。这个问题已经解决了..我做了康斯坦丁在上面的评论中所说的
【解决方案2】:

如果您转到“开发人员”选项卡并单击Record Macro。它将为您提供您正在做的所有事情的 VBA 代码。所以只需点击Record Macro。然后选择要过滤的内容。转到Data 选项卡并选择过滤器。它会在您选择的任何数据上放置一个箭头。单击箭头并放置过滤器。之后,返回并单击Stop Recording。然后转到您的代码编辑器,那里将有一个模块,其中包含您需要过滤的代码。然后只需将其复制并粘贴到您需要的位置即可。

【讨论】:

    猜你喜欢
    • 2018-04-15
    • 2015-03-28
    • 2013-08-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-26
    • 1970-01-01
    • 2023-03-16
    • 2022-08-04
    相关资源
    最近更新 更多