VBA按多个单元格过滤

时间:2017-08-14 08:05:51

标签: excel vba excel-vba range autofilter

我正在尝试根据另一个标签上的多个单元格的值过滤列表,但我无法让它正常工作。

这就是我得到的:

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

问题是它适用于1个单元,但不是多个,因为我尝试使用范围A8:A10。现在的代码只过滤最后定义的单元格 - 即A10 - 而不是整个范围。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

使用数组变量,我已使用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