📊 Excel VBA Top100
🎨

ApplyTableStyle

書式設定

A1:D10のデータをExcelテーブルに変換し、TableStyleMedium2スタイルを適用します

選択したデータ範囲にExcelの組み込みテーブルスタイルを自動適用するマクロです。「テーブルとして書式設定」機能のVBA版で、スタイル名を指定するだけで見やすいテーブルデザインが即座に適用されます。ヘッダー行の強調・縞模様の行・オートフィルターの自動追加など、テーブルとしての機能も一緒に設定されます。手動での書式設定作業を大幅に削減し、統一感のある資料を素早く作成できます。内部ではListObjects.Addでテーブルを作成した上でTableStyleプロパティにスタイル名を渡しており、通常の「テーブルとして書式設定」と全く同じ結果を再現します。オートフィルターやヘッダー強調が同時に有効になるため、SetBorderStyleやSetFontStyleで個別に整える手間を省けます。データが追加された際も書式が自動拡張されるのが最大の利点です。

ApplyTableStyle デモ

📖 使い方

  1. VBAエディタを開く(Alt + F11)
  2. モジュールを挿入(挿入 > モジュール)
  3. 下記VBAコードをコピー&ペースト
  4. ブック上で実行(Alt + F8 でマクロ選択)
💡 実行例: アクティブシートのA1:D10にデータを用意してマクロを実行。データがテーブル形式(TableStyleMedium2)に変換されます。

🎯 活用シーン

  • ✓データ集計表に統一したデザインを素早く適用して、会議資料として見栄えのよい表を短時間で作成したいとき
  • ✓複数のシートにまたがるデータ表に同じテーブルスタイルを一括適用して、ブック全体のデザインを統一したいとき
  • ✓新入社員でもプロ品質の書式設定ができるよう、会社の標準テーブルスタイルをワンクリックで適用できるようにしたいとき
  • ✓月次で追加更新されるデータ表に、更新のたびに手動で書式を整えていた作業を自動化したいとき
  • ✓複数部門から集まる報告書のフォーマットを統一し、資料の見た目を標準化したいとき

💡 実装のヒント

  • ▸テーブルとして設定すると、データを追加した際に書式が自動的に拡張されます。データの末尾に新しい行を追加するだけで、スタイルが自動適用されます。
  • ▸テーブルスタイルを変更したい場合は、テーブル内のセルをクリックして「テーブルデザイン」タブから別のスタイルを選択してください。
  • ▸テーブルを通常の範囲に戻したい場合は、RemoveTableStyleマクロを使用するか、テーブルツールの「範囲に変換」を実行してください。
  • ▸既にテーブル化されている範囲に再実行すると、スタイルだけが上書きされテーブル構造はそのまま維持されます。
  • ▸淡色系・濃色系などスタイル名の系統を統一しておくと、複数シートに適用したときの一貫性が保ちやすくなります。

💻 VBAコード

Sub ApplyTableStyle()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim tbl As ListObject
    Set tbl = ws.ListObjects.Add(xlSrcRange, ws.Range("A1:D10"), , xlYes)
    tbl.TableStyle = "TableStyleMedium2"
End Sub