2-フィルタ操作まとめ(エクセルマクロ)
フィルタの設定・解除を自在にあやつる!
皆さんこんにちは。
今回は誰でも一度はひっかっかるフィルタ操作についてまとめました。
これで、フィルタ操作が楽しくなります。
◆まとめたいこと
・「AutoFilter」「AutoFilterMode」「FilterMode」の区別
・「ShowAllData」でエラーにしない秘密!
◆・・・Mode
「AutoFilterMode」「FilterMode」"Mode"とついているこの2つのプロパティは判定するときに使います。
★「AutoFilterMode」・・・フィルタボタンが表示されていればTrue
★「FilterMode」・・・フィルタで絞り込まれていればTrue
◆「AutoFilter」
フィルタボタンの表示・非表示の切り替えのメソッドです。
フィルタボタンが表示されていないデータで実行するとフィルタボタンが表示されて、表示されているデータで実行するとフィルタボタンが非表示になります。
★最後にご紹介したフィルタボタンの切り替え「AutoFilter」だけが
シート名. セル範囲. AutoFilter
の順番で、セル範囲の次に使われています。
Worksheets("リスト").Range("A1").AutoFilter
★最初にご紹介した判定に使うプロパティ2つはシート名の次に書きます。
・「AutoFilterMode」は
シート名. AutoFilterMode
Worksheets("リスト").AutoFilterMode = True
・「FilterMode」も
シート名. FilterMode
Worksheets("リスト").FilterMode = True
◆「ShowAllData」
これは、データが絞り込まれている状態で実行したときに、絞り込まれたデータを表示するメソッドです。
ですので、絞り込まれていない状態のデータで実行するとエラーになってしまいます。
「ShowAllData」を使ってデータをすべて表示させたいときは、データの状態を確認してからつかう!
前半にご紹介しました、「AutoFilterMode」「FilterMode」この2つのプロパティで判定してから「ShowAllData」を登場させるのです。
以下にサンプルコードを3種類について載せておきます。
【テキスト】*************************************************************
Sub sono1() '(フィルタボタンの表示or非表示切替)
Worksheets("リスト").Range("A1").AutoFilter
End Sub
Sub sono2() '(フィルタボタンが表示されているor非表示の判定)
If Worksheets("リスト").AutoFilterMode = True Then
If Worksheets("リスト").FilterMode = True Then '(絞込み確認)
Worksheets("リスト").ShowAllData
End If
End If
End Sub
Sub sono3() '(フィルタで絞り込まれているor絞られてないの判定)
If Worksheets("リスト").FilterMode = True Then
Worksheets("リスト").ShowAllData
End If
End Sub
*******************************************************************************
今回は以上です。
最後までご覧いただきありがとうございました。
この記事が気に入ったらサポートをしてみませんか?