我有一张表,我想按其中一列中的值过滤行。用于过滤的值存储在一个单独的列中,而不是在表中。这是我到目前为止所拥有的:
Dim table1 As ListObject
Dim range1 As Range
Set range1 = ActiveSheet.range("AM23:AM184")
'get table object
table1.range.AutoFilter Field:=3, Criteria1:=???
我不知道该为标准1 放什么。我知道它需要是一个数组,我可以将它设置为类似 Array("12","2","13") 但我需要它等于 range1 给出的范围内指定的值。任何帮助将不胜感激。
编辑:通过执行 range1.Value 然后将 Variant 转换为字符串数组,我已经能够将我的范围值放入一个数组中。这没有按我的意愿工作,因为它只是将我的过滤器设置为数组中的最后一个值。例如,如果我的数组包含 ID(“12”、“44”、“13”、“22”)并且我将 Criteria1 设置为该数组并运行它,则过滤器只选择了 22 个,而所有其他数字都被取消选择,包括12、44 和 13。