テーブルがあり、その列の 1 つの値で行をフィルター処理したいと考えています。フィルタリングに使用される値は、テーブルではなく別の列に格納されます。これは私がこれまでに持っているものです:
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 を実行し、バリアントを文字列配列に変換することで、範囲値を配列に取得できました。Filter を配列の最後の値に設定するだけなので、これは私が望んでいたようには機能しませんでした。たとえば、配列に ID ("12"、"44"、"13"、"22") が含まれていて、その配列に Criteria1 を設定して実行すると、フィルターでは 22 のみが選択され、他のすべての数値が選択解除されます。 12、44、および 13。