スポンサーリンク

【VBA】テーブルスタイルの設定・変更方法(TableStyleの活用)

Excelのテーブル(ListObject)は、見やすく整理されたデータを作るための強力な機能です。テーブルにはデフォルトでスタイル(デザイン)が適用されますが、VBAを使えば プログラムでテーブルのスタイルを変更することが可能 です。

この記事では、TableStyle プロパティを使ったテーブルの書式変更方法について解説します。


スポンサーリンク

1. TableStyleとは?

TableStyle プロパティは、テーブルの外観(色・罫線・デザイン)を指定するためのプロパティです。

  • 設定可能なスタイルは 「テーブルデザイン」タブに表示されるスタイル名 と一致します。
  • 例えば "TableStyleLight1""TableStyleMedium2""TableStyleDark3" といった形式です。

スポンサーリンク

2. テーブルのスタイルを設定する基本構文

テーブルのスタイルを変更する基本的なVBAコードは以下の通りです。

Sub ChangeTableStyle()
    Dim ws As Worksheet
    Dim tbl As ListObject
    
    '対象シートを指定
    Set ws = ThisWorkbook.Sheets("Sheet1")
    
    'シート内の1つ目のテーブルを取得
    Set tbl = ws.ListObjects(1)
    
    'テーブルスタイルを設定
    tbl.TableStyle = "TableStyleMedium9"
End Sub

スポンサーリンク

3. コード解説

  • Set ws = ThisWorkbook.Sheets("Sheet1")
    → 操作対象のシートを指定。
  • Set tbl = ws.ListObjects(1)
    → そのシートの1つ目のテーブルを取得。
  • tbl.TableStyle = "TableStyleMedium9"
    → テーブルのスタイルを「TableStyleMedium9」に変更。
    (実際の名前はExcelの「テーブルデザイン」タブで確認できます)

スポンサーリンク

4. スタイルの種類

Excelには大きく分けて3種類のスタイルがあります。

  • Light系:シンプルで薄い色合い → "TableStyleLight1" ~ "TableStyleLight21"
  • Medium系:中間の濃さで見やすい → "TableStyleMedium1" ~ "TableStyleMedium28"
  • Dark系:濃い背景色で強調 → "TableStyleDark1" ~ "TableStyleDark11"

例えば:

tbl.TableStyle = "TableStyleLight9"   '薄いスタイル
tbl.TableStyle = "TableStyleMedium2"  '標準的なスタイル
tbl.TableStyle = "TableStyleDark4"    '濃いスタイル

5. ユーザー定義スタイルを使う場合

Excelで独自に作成した「カスタムテーブルスタイル」も設定可能です。
その場合は、カスタムスタイルの名前をそのまま指定します。

tbl.TableStyle = "売上テーブルスタイル"

6. 注意点

  1. 存在しないスタイル名を指定するとエラー
    → Excelで存在しない名前を指定すると「実行時エラー」が発生します。
  2. 既定のスタイルに戻す場合
    → テーブル作成時の標準スタイルを利用するか、好みのLight系に設定してください。
  3. 複数テーブルをまとめて変更可能
    → For Each tbl In ws.ListObjects を使えば、シート内のすべてのテーブルのスタイルを一括変更できます。

7. まとめ

  • TableStyle プロパティを使うと、テーブルの外観を自由に変更できる。
  • "TableStyleLight""TableStyleMedium""TableStyleDark" から選べる。
  • ユーザー定義スタイルも指定可能。
  • 存在しない名前を指定するとエラーになるので注意。

見やすいテーブルは分析効率を高めます。VBAでスタイルを統一すれば、データ管理の自動化だけでなく、見栄えの自動化 も実現できます。

コメント

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