つらつら Excel VBA

私の備忘録です。

オートフィルタの複数条件設定

'それぞれの列で条件を指定したい時、それぞれ指定すればよい

With ws.Range("A1")
    .AutoFilter Field:=2, Criteria1:="ピカちゅう"
    .AutoFilter Field:=3, Criteria1:="誕生"
End With
'配列を渡して一括設定。Arrayとかもできる。

Dim dic, ar

'略。条件用の文字を取得しまくる処理。

ReDim ar(dic.Count - 1)
Dim v, i As Integer
i = 0
For Each v In dic
    ar(i) = dic.Item(v)
    i = i + 1
Next

With ws.Range("A1")
    .AutoFilter Field:=2, Criteria1:=ar, Operator:=xlFilterValues
End With

以上。