関数・メソッド

フィルターで折り畳まれたデータを全て表示する【ShowAllDataメソッド】【ExcelVBA】

ShowAllDataメソッド

ShowAllDataメソッドは、オートフィルタを使ってデータを抽出したあと、
その抽出を解除して元のデータを全て表示させるためのメソッドです。

「データ処理の最初に全データを表示しておきたい」
「ユーザーがフィルタをかけたままの可能性があるとき」

などに使用できます。

構文
Object.ShowAllData

ObjectWorksheetオブジェクトを表す変数です。

 

データを全て表示するサンプルコード

Public Sub Sample()
  'データを入力する
  Range("A1") = "aaa"
  Range("A2") = "111"
  Range("A3") = "222"
  '「222」をフィルターにかける
  Range("A1").AutoFilter Field:=1, Criteria1:="222"
 
  '■折り畳まれているデータを全て表示する
  With ActiveSheet
    If .FilterMode Then  'フィルターの判定
       .ShowAllData      'データを表示
    End If
  End With
  
  'オートフィルタを解除する
  Range("A1").AutoFilter

End Sub

 

注意点

  • オートフィルタ自体を解除するものではありません。
    あくまでフィルターを解除するだけなので、矢印マークは消えません。
    ※オートフィルタに設定された条件は解除されます。
  • 以下の状況ではエラーが発生します。
    ・フィルターモードが解除されている
    ・そもそもデータが折り畳まれていない
    ※ShowAllDataを実行する前にFilterModeで抽出が行われているかどうか判定しておくと安心です。

 

関連記事

コメント

タイトルとURLをコピーしました