我希望使用以m,n,o开头的任何内容过滤列。当我尝试使用2个项目进行过滤但不能使用超过2个项目时,情况正常。
Criteria1:="=m*", Operator:=xlOr, Criteria2:="=n*"
可以正常过滤任何以m或n
开头的内容//Criteria1:="=p*", Operator:=xlOr, Criteria2:="=z*", Operator:=xlOr, Criteria2:="=e*"
引发错误无效标准
Criteria1:=Array("=mab", "=nab", "oab"), Operator:=xlFilterValues
可以正常过滤mab,nab,oab。
Criteria1:=Array("=m*", "=n*", "o*"), Operator:=xlFilterValues
很好地过滤字面上``m * ,
n * ,
o *`(它不被视为正则表达式),我看的是过滤任何以m开头的东西或者n或o
答案 0 :(得分:2)
尝试以这种方式使用高级过滤器(假设该字段是A列)
Sub Test()
Application.ScreenUpdating = False
With Sheets("Sheet1")
If .FilterMode Then .ShowAllData
.Range("H2").Formula = "=OR(LEFT(A2,1)=""m"",LEFT(A2,1)=""n"",LEFT(A2,1)=""o"")"
.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=.Range("H1:H2"), Unique:=False
.Range("H2").ClearContents
End With
Application.ScreenUpdating = True
End Sub