VBA 按多个单元格过滤
VBA filter by multiple cells
我正在尝试根据另一个选项卡上多个单元格的值来筛选列表,但我无法使其正常工作。
这是我得到的:
ActiveSheet.Range("$A:$Y9").AutoFilter Field:=13,
Criteria1:=Range("Formulas!A8:A10").Value
问题是它适用于 1 个单元格,但不能像我尝试使用范围 A8:A10 那样处理多个单元格。现在的代码仅过滤最后定义的单元格 - 即 A10 - 而不是整个范围。
我做错了什么?
使用数组变量,我用过 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
我正在尝试根据另一个选项卡上多个单元格的值来筛选列表,但我无法使其正常工作。
这是我得到的:
ActiveSheet.Range("$A:$Y9").AutoFilter Field:=13,
Criteria1:=Range("Formulas!A8:A10").Value
问题是它适用于 1 个单元格,但不能像我尝试使用范围 A8:A10 那样处理多个单元格。现在的代码仅过滤最后定义的单元格 - 即 A10 - 而不是整个范围。
我做错了什么?
使用数组变量,我用过 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