【Excelマクロ】指定行だけ太字&罫線を自動設定するマクロ

Excelでレポートや帳票を作成する際、「特定の行だけ強調表示したい」「区切り線を入れて視認性を上げたい」といった要望はよくあります。特に、条件に応じて複数行を装飾する場合、手作業では時間がかかってしまいます。

こうした場面で役立つのが、指定行だけを自動で太字+罫線を設定するVBAマクロです。たとえば、項目名が入っている行や小計の行だけを強調表示するなど、実務での用途は幅広くあります。

次に、具体的なVBAコードとその説明を紹介します。

特定の行に装飾を適用するVBAコード

次のマクロは、変数 r に指定した行に対して、太字と罫線(上下)を自動で設定します。

Sub FormatRow()
    Dim r As Long
    r = 5  ' 強調したい行番号(ここでは5行目)

    With Rows(r)
        .Font.Bold = True  ' 太字にする
        .Borders(xlEdgeTop).LineStyle = xlContinuous   ' 上罫線
        .Borders(xlEdgeBottom).LineStyle = xlContinuous ' 下罫線
    End With
End Sub

このコードは、たとえば「5行目を見出しとして強調したい」といったシーンにそのまま使えます。

太字の指定は .Font.Bold = True で行い、罫線は .Borders(...) を使って上下の線を引いています。xlEdgeTopxlEdgeBottom は、行の上端・下端を示す定数です。

必要に応じて、線の種類や太さを変更することもできます。例えば太線にしたい場合は .Weight = xlThick を追加してください。

条件付きで複数行に適用する例

「行ごとに内容をチェックして、該当する行だけに装飾をかけたい」という場合は、ループ処理を用いるのが効果的です。

次のコードは、A列に「小計」という文字がある行だけに太字+罫線を適用します。

Sub FormatByCondition()
    Dim i As Long
    Dim lastRow As Long

    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    For i = 2 To lastRow
        If Cells(i, 1).Value = "小計" Then
            With Rows(i)
                .Font.Bold = True
                .Borders(xlEdgeTop).LineStyle = xlContinuous
                .Borders(xlEdgeBottom).LineStyle = xlContinuous
            End With
        End If
    Next i
End Sub

このマクロでは、A列の最終行までを For で繰り返し、セルに「小計」と書かれていた場合だけ、その行に装飾をかけています。特定キーワードを目印に装飾する処理は、月次レポートや仕訳一覧などにも使える実用的なパターンです。

実装するメリット

このようなマクロを組むことで、次のような実務的な利点があります。

  • 手作業による装飾ミスを防止できる
  • 集計やレポート作成時に一貫性のある見た目を自動で確保できる
  • 内容が変わっても、マクロを実行するだけで再装飾が可能になる
  • 時間短縮と作業ミスの防止を両立できる

まとめ

Excelで指定行に太字や罫線を設定する作業は、目立たないながらも重要な業務の一部です。VBAマクロを使えば、こうした装飾作業も一括で処理でき、業務の効率化につながります。

  • .Font.Bold = True で太字、.Borders(...) で罫線を設定できる
  • With Rows(行番号) を使えば1行に対して簡潔に処理が可能
  • 条件付きで複数行に適用するにはループと If を組み合わせる
  • 作業ミスの防止や、レポートの見やすさ向上に効果あり

こうしたちょっとした装飾マクロでも、使いこなすことで業務の品質がグッと向上します。今後は、背景色やフォントサイズの調整などにも応用できますので、ぜひチャレンジしてみてください。

コメントする

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

上部へスクロール