具有多个通配符的自动filter

有没有办法使用Excel自动filter,从而设置一个预定义的值列表进行过滤,它将返回包含该短语的列中的所有单元格? 例如,想象下面的数据(全部在一个列中)。

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

当您select一个或多个选项时,filter将有三个预定义的值, BrianJohnMark ,它满足所有选定的filter? 所以在这个例子中, Brian会返回前三个单元格,selectMarkJohn只会返回最后一个单元格。

我知道这是可能做一次在使用Advanced Filter的数据列表,但我正在寻找一个实时的方式做了很多次。

您不能使用通配符筛选两个以上的条件。 您的样本数据的性质是,您将使用=“Brian *”,=“Mark *”或=“* John”来将首字母通配为“ 开始…”或“ 结束…”标准。 您只能在任何一个filter操作中使用其中的两个。 您不能通过创build通配值的数组添加第三个。

这工作:

 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 

第二种方法不起作用,因为如果您在数组中使用通配符来自动筛选,则仅限于2个术语。 网上有解决方法和解决scheme。