【发布时间】:2016-01-17 02:07:38
【问题描述】:
在尝试通过 VBA 以正常的 AutoFilter 方式设置超过 2 个条件但徒劳无功后,我了解到必须通过高级过滤器来完成。
违规示例:
Worksheets(1).Range("A1").AutoFilter Field:=ColNum, Criteria1:="A*", Operator:=xlOr, Criteria2:="B*", Operator:=xlOr, Criteria3:="C*"
我希望将条件从 PowerShell 脚本传递给函数(而不是宏)。我的工作正常,符合 1 个标准的预期,但现在我想要 3 个。
我想我可以改为编写一个宏来插入新工作表,写入条件然后过滤该新范围,但我宁愿先检查首选方式。
【问题讨论】:
-
恐怕只能是一个范围。
-
创建通配符匹配的变体数组,然后将完整值数组与标准 AutoFilter method 一起使用。我已经使用字典对象完成了这项工作,以使用其唯一的索引属性。
-
这不会成为自定义过滤器并由于 >2 而失败吗?
-
@Chris - 请参阅下面的通用解决方案。
标签: vba excel dictionary autofilter