【Excelマクロ】表のタイトル行を自動的に太字&色付け

Excelで表を作成する際、最初の行(タイトル行)だけ太字にしたり、背景色を付けたりすることで、見た目が整い、読み手にとっても分かりやすくなります。

しかし、毎回手作業で書式設定を行うのは、意外と面倒です。特に複数の表がある資料では、作業の手間もミスも増えてしまいます。

そこで今回は、「表のタイトル行を自動で装飾するマクロ」を紹介します。

シンプルなコードで業務の効率が上がり、資料の見栄えも整う便利なテクニックです。

1行目を自動で装飾する基本マクロ

次のコードは、アクティブシートの1行目を対象に、太字・背景色・文字色を設定します。

Sub FormatHeaderRow()

    Dim rng As Range
    Set rng = Rows(1)

    With rng.Font
        .Bold = True  ' 太字に設定
        .Color = RGB(255, 255, 255) ' 白文字
    End With

    rng.Interior.Color = RGB(0, 102, 204) ' 背景を濃い青に

End Sub

解説

  • Rows(1) で1行目全体を対象にしています。
  • Font.Bold = True で太字に、Font.Color で文字色を白に変更。
  • Interior.Color で背景色を指定(ここでは濃い青にしています)。

シンプルなコードですが、毎回の装飾作業が一瞬で完了するようになります。

データ範囲を自動で取得し、その1行目だけ装飾

次のコードでは、任意の表の範囲(A1セルから広がっている表)を自動で検出し、最上部の行だけを装飾します。

Sub FormatTableHeader()

    Dim tbl As Range
    Dim rng As Range

    ' A1セルから連続した範囲を取得
    Set tbl = Range("A1").CurrentRegion

    ' 最初の1行だけを取得
    Set rng = tbl.Rows(1)

    With rng.Font
        .Bold = True
        .Color = RGB(255, 255, 255)
    End With

    rng.Interior.Color = RGB(0, 153, 76) ' 緑系の背景

End Sub

補足とメリット

  • CurrentRegion を使うと、空白セルで囲まれた連続データを一括で取得できます。
  • その中の Rows(1) を装飾することで、表の範囲が変わっても自動対応できます。

表が複数あるシートでも、1つ1つ選び直す必要がありません。

実装するメリット

このようなマクロを用意しておくと、以下のようなメリットがあります。

  • 表のタイトル行が自動的に目立つようになり、資料の見た目が整う
  • 毎回マウスで選択して書式を設定する手間がなくなる
  • 装飾の「ばらつき」がなくなり、統一感が出る
  • 表の更新や追加に素早く対応できる

まとめ

表のタイトル行は、読み手にとって最初に目に入る「大切な部分」です。
この部分を自動的に装飾することで、資料全体の品質がぐっと向上します。

今回紹介したようなマクロは、ほんの数行で作れますが、実務の効率化には非常に効果的です。
テンプレートとして組み込んでおけば、毎回の作業を大幅に時短できるので、ぜひ業務に取り入れてみてください。

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール