Excel VBAでテーブルの表示オプションを一括設定する方法|ヘッダー・集計行・縞模様の切り替え制御

Excelでは、表形式のデータを「テーブル(ListObject)」に変換すると、見た目の整った構造化された表になります。
さらに、テーブルの表示スタイルやヘッダー行、集計行、行の縞模様などはVBAから細かく制御することができます。

本記事では、VBAでテーブルを作成しつつ、各表示オプションを一括設定する方法をご紹介いたします。


目次

想定される用途

  • テーブルの外観を統一し、ユーザーにとって見やすい表を生成したい。
  • ヘッダーや集計行などの表示・非表示をコードでコントロールしたい。
  • マクロ処理で自動的に整ったレイアウトを作成したい。

VBAコードの例

以下のコードでは、セル範囲 C4:F9 をテーブルに変換し、名前・スタイル・表示設定を細かく指定しています。

Sub CreateFormattedTable()

    Dim tbl As ListObject
    Dim dataRange As Range

    Set dataRange = ActiveSheet.Range("C4:F9")

    ' テーブル作成と各種プロパティ設定
    With ActiveSheet.ListObjects.Add(SourceType:=xlSrcRange, _
                                     Source:=dataRange, _
                                     XlListObjectHasHeaders:=xlYes)

        .Name = "売上テーブル"
        .TableStyle = "TableStyleMedium3"

        ' 表示設定
        .ShowHeaders = True                          ' ヘッダー行を表示
        .ShowTableStyleColumnStripes = True          ' 縦の縞模様を有効化
        .ShowTableStyleRowStripes = False            ' 横の縞模様を無効化
        .ShowTableStyleFirstColumn = False           ' 最初の列の強調なし
        .ShowTableStyleLastColumn = False            ' 最後の列の強調なし
        .ShowTotals = False                          ' 集計行は表示しない
        .ShowAutoFilterDropDown = False              ' フィルターボタン非表示

    End With

End Sub

設定可能な主なプロパティ一覧

プロパティ名意味設定例
ShowHeadersヘッダー行の表示True または False
ShowTableStyleColumnStripes縦方向の縞模様True または False
ShowTableStyleRowStripes横方向の縞模様True または False
ShowTableStyleFirstColumn最初の列を強調表示True または False
ShowTableStyleLastColumn最後の列を強調表示True または False
ShowTotals集計行を表示True または False
ShowAutoFilterDropDown列のフィルターを表示True または False

スタイル一覧の一例

スタイル名説明
TableStyleLight1Light21淡い配色のスタイル群
TableStyleMedium1Medium28中間色のスタイル群(見出しや縞模様に適)
TableStyleDark1Dark11濃色を基調としたスタイル群

※スタイル名は実行環境により異なるため、実際にExcelの「テーブルデザイン」タブから確認可能です。


まとめ

Excel VBAを使えば、単にセル範囲をテーブルに変換するだけでなく、ヘッダー・集計・縞模様・フィルターなどの表示要素を自在に設定できます。
ユーザーにとって見やすく、使いやすいレイアウトを自動で整えることができ、業務の品質と効率が同時に向上します。

特に、テンプレートや報告資料の定型化を行っている現場では、このような表示制御は非常に重宝されるでしょう。
ぜひ本記事を参考に、実務へご活用ください。

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

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次