他の投稿を検索したところ、同様の問題が見つかりましたが、具体的には何も助けてくれませんでした。私は文字列の配列を取ってフィルター基準として使用しようとしています。配列は関数によって作成され、可変数の要素と内容を持つため、扱いにくいです。私はそれを取るためにオートフィルターが必要であり、その要素のそれぞれについて列Eをチェックする。VBAオートフィルターの条件として文字列配列を使用する
私はそれを二つの方法
1)
With Sheet17
.Range("E1").AutoFilter Field:=5, Criteria1:=Application.Transpose(arr)
End With
結果試してみた:列Eにフィルタを適用するが、オプションのいずれかを選択するために失敗した
2)
For i = 0 To counter - 1
With Sheet17
.Range("E1").AutoFilter Field:=5, Criteria1:=Application.Transpose(arr(i))
End With
Next
注:カウンタは、配列内の要素の数を表す整数です 結果:これはアレイを正しくループしますが、フィルタの最後のオプションのみが選択されます。ループバックするたびに開始され、他のすべてのオプションがチェックされなくなります。