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. 注意点
- 存在しないスタイル名を指定するとエラー
→ Excelで存在しない名前を指定すると「実行時エラー」が発生します。 - 既定のスタイルに戻す場合
→ テーブル作成時の標準スタイルを利用するか、好みのLight系に設定してください。 - 複数テーブルをまとめて変更可能
→For Each tbl In ws.ListObjects
を使えば、シート内のすべてのテーブルのスタイルを一括変更できます。
7. まとめ
TableStyle
プロパティを使うと、テーブルの外観を自由に変更できる。"TableStyleLight"
,"TableStyleMedium"
,"TableStyleDark"
から選べる。- ユーザー定義スタイルも指定可能。
- 存在しない名前を指定するとエラーになるので注意。
見やすいテーブルは分析効率を高めます。VBAでスタイルを統一すれば、データ管理の自動化だけでなく、見栄えの自動化 も実現できます。
コメント