2017-07-25 72 views
0

我試圖自動篩選具有多個條件的列。自動過濾器僅處理一個數據,但不處理多個數據。無法使用數組自動篩選具有多個條件的列

For lb1fil = 0 To ListBox1.ListCount - 1 
If ListBox1.Selected(lb1fil) = True Then 
    strarray = Chr(34) & ListBox1.list(lb1fil) & Chr(34) & "," & strarray 
End If 
Next 
Debug.Print Left(strarray, Len(strarray) - 1) 
Worksheets("Result").Activate 
Range("L4:L2000").AutoFilter Field:=1, Criteria1:=Array(Left(strarray, 
Len(strarray) - 1)), Operator:=xlFilterValues 

請讓我知道是否有任何其他方式或我錯過了什麼。

我搜索瞭解決方案,但他們都沒有工作。

回答

0

我RND後的答案,(感謝SO)

For lb1fil = 0 To ListBox1.ListCount - 1 
If ListBox1.Selected(lb1fil) = True Then 
    'strarray = Chr(34) & ListBox1.list(lb1fil) & Chr(34) & ", " & strarray 
    strarray = strarray & "," & ListBox1.list(lb1fil) 
End If 
Next 
Debug.Print Right(strarray, Len(strarray) - 1) 
strlen = Right(strarray, Len(strarray) - 1) 
Debug.Print strlen 

ary = Split(strlen, ",") 

Worksheets("Result").Activate 
Range("L4:L2000").Select 
Selection.AutoFilter 
Range("L4").Activate 
ActiveSheet.Range("$L$4:$L$2000").AutoFilter Field:=1, Criteria1:=Array(_ 
    ary), Operator:=xlFilterValues 

我已經採用分體式加入陣列,和它的工作。

請注意解決方案來自另一個問題,解決方案不是我的。所以想分享一下。謝謝

相關問題