2017-08-14 110 views
1

我想根據另一個選項卡上的多個單元格的值來過濾列表,但我無法讓它正常工作。多個單元的VBA過濾器

這是我得到:

ActiveSheet.Range("$A$2:$Y$129").AutoFilter Field:=13, 
Criteria1:=Range("Formulas!A8:A10").Value 

的問題是,它的工作原理與1個單元,但不作爲多我曾嘗試與範圍A8做:A10。現在的代碼只在最後定義的單元格上過濾 - 即A10 - 而不是整個範圍。

我在做什麼錯了?

回答

0

使用Array變量,我已經使用了FiltArr,並存儲了您想要過濾的範圍內的所有值。

Dim FiltArr As Variant 

' add all range values to array, use Transpose to get a 1-D array 
FiltArr = Application.Transpose(Worksheets("Formulas").Range("A8:A10").Value) 

ActiveSheet.Range("A2:Y129").AutoFilter Field:=13, Criteria1:=FiltArr, Operator:=xlFilterValues