2015-12-03 81 views
0
Selection.AutoFilter Field:=RNG.Column, Criteria1:=Array(_ 
"=" & "5.*" & "El*", "=" & "4.*" & "El*", "=" & "3.*" & "El*"), Operator:=xlFilterValues 

我想過濾多個條件。它一次只需要2個標準,但是如果我再添加一個標準,它就不會過濾任何東西。雖然我的數據以(5.,4.,3。)開頭。條件篩選多個以條件開始?

+1

只能施加兩個通配符一次過濾,而不是數組。請參閱[VBA:Autofilter部分數組字符串](http://stackoverflow.com/questions/31484479/vba-autofilter-for-partial-array-strings/31484831#31484831) – Jeeped

+0

謝謝..現在我明白了.. –

回答

0

在這方面,VBA限制是一樣的,在工作表中:

SO34062016 example

一種解決方法(爲他人的緣故如果不是OP)是與一個標誌,是增加一列從根據需要捕獲儘可能多的選擇的公式派生而來。對於以上示例可能被(假設待過濾的柱是ColumnB):

=AND(OR(LEFT(B3,2)="3.",LEFT(B3,2)="4.",LEFT(B3,2)="5."),SEARCH("El",B3,3)>0) 

,然後篩選的標誌柱,用代碼如:

Selection.AutoFilter Field:=RNG.Column, Criteria1:="TRUE"