2015-04-23 93 views
1

有没有办法使用Excel自动筛选器,从而设置要筛选的预定义值列表,并且它将返回包含该短语的列中的所有单元格?例如,想象下面的数据(全部在单个列中)。带有多个通配符的自动筛选器

 A 
1 NAMES 
2 Brian 
3 Brian, John 
4 Brian, Mark 
5 Mark, John 

过滤器将有三个预定义值,BrianJohnMark,当你选择1点或更多的选择,它满足所有选择的过滤器?因此,在此示例中,Brian将返回前三个单元格,其中选择MarkJohn将仅返回最后一个。

我知道使用Advanced Filter可以在数据列表中执行一次操作,但我正在寻找一种多次执行此操作的实时方法。

+0

您是否想要“就地”执行过滤,还是希望将结果显示在单独的列表中? –

+0

到位,我已经探索在不同的地方展示它,但不幸的是,这不适用于我的具体应用程序,所以必须保持原位。 –

回答

3

您不能使用通配符筛选两个以上的条件。您的样本数据的性质是这样的,您将使用=“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

请参阅[设置自动筛选多个通配符](http://stackoverflow.com/questions/16602872/set-auto-filtering-multiple-wildcards/34822944#34822944)和[自动筛选器是否可以从字典中同时采用包含式和非包含式通配符密钥?](http://stackoverflow.com/questions/16602872/set-auto-filtering-multiple-wildcards/34822944#34822944)获取绕过两个通配符限制的方法。 – Jeeped

0

如果您使用通配符数组自动筛选你的第二个方法不会因为工作仅限于2条款。网络上有解决方法和解决方案。

+0

请包括指向网络上的一些解决方法和解决方案的链接。 – Barniferous