今回はセルにフィルターをかけたり外したりする方法を紹介したいと思います。
フィルターをかけたり外したりする方法
フィルターのかけ方と外し方
セルにフィルターをかけるにはAutoFilterを使用します。
Sub haribona_filter()
'フィルターをかける
Range("A1").AutoFilter
End Sub
例として以下の表で実行します。
実行するとA~D列に対してフィルターがかかります。
逆にフィルターを外したい時は、同じようにAutoFilterを実行すれば外すことが出来ます。
ちなみに上記コードではA1セルを指定していますが、範囲内であれば別のセルを指定してもフィルターをかけることが出来ます。例で言うとB1~D1セルを指定してもフィルターがかかります。
Sub haribona_filter()
'全部同じ動作
Range("A1").AutoFilter
Range("B1").AutoFilter
Range("C1").AutoFilter
Range("D1").AutoFilter
End Sub
フィルターをかける時の注意点
フィルターをかける時の注意点として、途中にブランクになっている列があるとフィルターがうまくかからない可能性がある点が挙げられます。
例えばA~D列にデータが入っている表があったとして、C列に列を挿入してA1(もしくはB1)セルに対してAutoFilterを実行しても、A~B列までしかフィルターがかからなくなってしまいます。
逆にD1セルに対して実行してもD~E列にしかフィルターがかかりません。
要はデータが連続して入っていない場合、フィルターが途中までしかかからなくなる、と覚えておいておけばOKです。もしブランクになっている列も含めてフィルターをかけたい場合は、全ての列を指定するのが無難だと思います。
'ブランクの列も含める
Range("A1:E1").AutoFilter
まとめ
今回はセルにフィルターをかけたり外したりする方法を紹介しました。
マクロを使ってフィルターをかけたい時は、以下3点を注意して実行するようにしましょう。
- AutoFilterを使う
- データが連続して入っているなら単一セルを指定してもフィルターがかかる
- 途中でブランクの列があるなら範囲指定する
このブログではVBAに関する記事を不定期で投稿していますので、是非ご覧ください!
コメント