MENU
  • PC/Gadget

Category カテゴリカテゴリ

PC/Gadget パソコン・ガジェット
Soft/App ソフト・アプリ
Entertainment エンタメ・イベント
Shopping お買い物
D.I.Y. セルフリフォーム
Download ダウンロード

パソコン関連のお得情報

マイクロソフトオフィス
マッキントッシュ
ウインドウズ
Adobe イラストレーター
ワードプレス
Apple iPhone
iPad & Apple Pencil
アプリ

©Goblog ごぶろぐ
created by N/A | powerd by SWELL

ソフトやガジェットのPR記事依頼はお気軽にお問い合わせください
  • Soft/App

【EXCEL】オートフィルタで使える便利なVBAマクロ一覧

[chat face=”pose_atama_kakaeru_man.png” name=”” align=”left” border=”gray” bg=”none” style=””]Excelでオートフィルタをよく使うけど、チェックを付けたり、外したり、全部解除したり…毎回同じ作業をするのがなにかと面倒。どうにかならないかな?[/chat]

[chat face=”shigoto_woman_casual.png” name=”ごん” align=”right” border=”gray” bg=”none” style=””]VBAマクロを使えば効率よく自動化できるよ[/chat]

仕事で日報や経費の計算、作業員名簿などなにかとオートフィルタを使う機会が多いかたは

フィルタでチェックを入れ替える
フィルタの(すべて選択)を選ぶ
フィルタであいまい検索をする

など、同じ作業を繰り返すことがたくさんあるのではないでしょうか?

この記事では、何度も使うオートフィルタの機能をVBA(マクロ)で自動化して、作業の負担を減らす方法をご紹介しています。

目次

EXCELのオートフィルタで使える便利なマクロ

ここで紹介するマクロをボタンに設定するとワンタッチで利用することができます。

オートフィルタの選択部分を解除する

まずはフィルターで選んだ項目を全て外し、表が全部見えている状態に戻すマクロです。

Sub Macro_filterclear()
Range("A1").Select
If ActiveSheet.FilterMode Then
  ActiveSheet.ShowAllData
  End If
End Sub

マクロの内容説明

Sub Macro_filterclear()

→マクロの名前です。
塗りつぶし部分は変更してもかまいません。

Range(“A1“).Select
→オートフィルタを設定している表の一番左上のセルを指定します。
今回はA1でした。

If ActiveSheet.FilterMode Then
ActiveSheet.ShowAllData
→フィルタの選択部分を解除するコードなのでこのまま

End If
End Sub
→このまま

オートフィルタの条件を指定したセルの値から選択する

Sub macro_filterSell()
Selection.AutoFilter Field:=3, Criteria1:=Range("D1").Value
End Sub

マクロの内容説明

Sub macro_filterSell()

→マクロの名前です。
塗りつぶし部分は変更してもかまいません。

Selection.AutoFilter Field:=3,

→Field:=3 の3の部分が、オートフィルタの表の中で条件を指定したい列の番号です。
たとえば
・A1:C3の表でBの列の条件を指定したい場合は2
・C1:D5の表でCの列の条件をしていしたい場合は1
と記載します。

Criteria1:=Range(“D1”).Value,

→条件を記入するセルを指定します。
D1の部分を変えてください

End Sub

→このまま

オートフィルタの条件を指定するマクロ

Sub macro_filterCon()
Selection.AutoFilter Field:=3, Criteria1:="1"
End Sub

マクロの内容説明

Sub macro_filteCon()

→マクロの名前です。
塗りつぶし部分は変更してもかまいません。

Selection.AutoFilter Field:=3,

→Field:=3 の3の部分が、オートフィルタの表の中で条件を指定したい列の番号です。
たとえば
・A1:C3の表でBの列の条件を指定したい場合は2
・C1:D5の表でCの列の条件をしていしたい場合は1
と記載します。

Criteria1:=“1”

→条件を記入します。
この場合はフィルタで「1」のときを抽出することになります。

End Sub

→このまま

オートフィルタで二つの条件を指定するマクロ

Sub macro_filter2con()
Selection.AutoFilter Field:=3, Criteria1:="<10", Operator:=xlAnd, Criteria2:=">=5"
End Sub

マクロの内容説明

Sub macro_filter2con()

→マクロの名前です。
塗りつぶし部分は変更してもかまいません。

Selection.AutoFilter Field:=3,

→Field:=3 の3の部分が、オートフィルタの表の中で条件を指定したい列の番号です。
たとえば
・A1:C3の表でBの列の条件を指定したい場合は2
・C1:D5の表でCの列の条件をしていしたい場合は1
と記載します。

Criteria1:=”<10“,

→ひとつめの条件を記入します。
この場合はフィルタで「10より下」の抽出することになります。

Operator:=xlAnd,

→2つの条件を「And」にするか「Or」にするかを指定します。
xlAnd:「And」Criteria1かつCriteria2
xlOr:「Or」Criteria1もしくはCriteria2

Criteria2:=”>=5

→ふたつめの条件を記入します。
この場合はフィルタで「10以上」の抽出することになります。

[chat face=”shigoto_woman_casual.png” name=”ごん” align=”left” border=”gray” bg=”none” style=””]今回のマクロでは「xlAnd」なので「10より下」かつ「5以上」の数値が抽出されるね[/chat]

End Sub

→このまま

管理人:ごん(デザイナー)

管理人:ごん(デザイナー)

「時短・楽したい」がモットー!Twitterでも情報公開しています
記事のライティング依頼やPR記事依頼・広告掲載のご依頼も受付中

よかったらシェアしてね!
  • URLをコピーしました!
目次