有没有办法使用Excel自动过滤器,您可以设置要过滤的预定义值列表,它将返回包含该短语的列中的所有单元格?例如,想象下面的数据(全部在一列中)。
A
1 NAMES
2 Brian
3 Brian, John
4 Brian, Mark
5 Mark, John
过滤器有三个预定义值,Brian
,John
和Mark
,当您选择1个或多个选项时,它会满足所有选定的过滤器吗?因此,在此示例中,Brian
将返回前三个单元格,其中选择Mark
和John
将仅返回最后一个。
我知道可以使用Advanced Filter
在数据列表中执行一次,但我正在寻找实时执行此操作的方法。
答案 0 :(得分:4)
您不能使用通配符过滤两个以上的条件。您的样本数据的性质使您可以使用=" Brian *",=" Mark *"或=" * John"将名字通配符为以...开头或以...... 标准结束。您只能在任何一个过滤操作中使用其中两个。您不能通过创建通配值数组来添加第三个。
这有效:
with activesheet.cells(1, 1).currentregion
.AutoFilter Field:=1, Criteria1:="=Brian*", Operator:=xlOr, Criteria2:="=*John"
end with
这不起作用:
with activesheet.cells(1, 1).currentregion
.AutoFilter Field:=1, Criteria1:=Array("Brian*", "Mark*", "*John"), Operator:=xlFilterValues
end with
答案 1 :(得分:0)
第二种方法不起作用,因为如果您在数组中使用通配符进行自动过滤,则仅限于2个术语。网上有解决方法和解决方案。