【Excelマクロ】1行おきに色を塗るマクロを作ってみよう

見やすい表にするには「色分け」が便利

Excelで大量のデータを扱っていると、どの行を見ているのかわからなくなることがあります。

そんなときに便利なのが、「1行おきに色を塗る」デザインです。

いわゆる「ストライプ状」の表にすることで、視認性がぐっと向上します。

この作業を毎回手動で行うのは大変ですが、VBAを使えば一瞬で色分けすることができます。

どんな処理をするかを整理してみよう

まず、今回やりたいことはとてもシンプルです。

  • A列にデータが入っているとする
  • その行数にあわせて、1行おき(偶数行)に色を塗る

このルールをVBAで実装していきましょう。

マクロの基本コードと解説

さっそくコードを見てみましょう。

Sub ColorAlternateRows()

    Dim i As Long
    Dim lastRow As Long

    ' A列の最終行を取得
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row

    ' 2行目から最終行まで、2行おきに色を塗る
    For i = 2 To lastRow Step 2
        Rows(i).Interior.Color = RGB(230, 240, 255)
    Next i

End Sub
  • lastRow は A列の最終行番号を取得しています。
  • Step 2 によって、「2行目、4行目、6行目…」と2行ごとに処理します。
  • 各対象行に対して Interior.Color プロパティを使い、色を塗っています。

色は RGB(230, 240, 255) として、薄い青系の色を指定しました。

このRGBの値を変更すれば他の色にすることができます。

応用パターンを考えてみよう

ここでは2つのよくある要望に対応するコードをご紹介します。

1. 色を塗る範囲を列単位に制限する

全行ではなく「A列からD列だけに色をつけたい」といった場合は、次のように書きます。

Sub ColorAlternateRange()

    Dim i As Long
    Dim lastRow As Long

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

    For i = 2 To lastRow Step 2
        Range(Cells(i,1),Cells(i,4)).Interior.Color = RGB(255, 255, 200)
    Next i

End Sub

このコードでは、2行目、4行目…の「A〜D列だけ」に色を塗るようになっています。

2. すでに塗られた色をクリアしたい場合

毎回マクロを実行すると、色が塗りっぱなしになってしまいます。

まずは一旦色を消してから塗り直す、という流れも取り入れてみましょう。

Sub ResetAndColor()

    Dim i As Long
    Dim lastRow As Long

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

    ' 色をすべてクリア
    Range(Cells(2,1),Cells(lastRow,4)).Interior.ColorIndex = xlNone

    ' 偶数行に色を再度塗る
    For i = 2 To lastRow Step 2
        Range("A" & i & ":D" & i).Interior.Color = RGB(220, 255, 220)
    Next i

End Sub

このようにすれば、何度実行しても同じ見た目を保つことができます

実装するメリットを整理しよう

「1行おきに色を塗る」処理は、見た目のためだけではありません。

実務におけるメリットを整理しておきましょう。

主なメリット

  • 見やすさアップ
    行の境界がはっきりし、データを見失いにくくなる
  • 作業ミスの防止
    同じような数字が並んでいても、行を取り違えにくい
  • 報告書・印刷物でも好印象
    単調な表よりも、軽く色が入っている方が見た目が良い
  • VBAで自動化すれば安定して毎回同じ結果に
    手作業による塗りムラがなくなる

まとめ

マクロというと「自動で動く=計算」や「値の転記」のイメージが強いですが、見た目を整える処理も立派な自動化の一部です。

今回のように「1行おきに色を塗る」処理は、小さいながらも実務ではとても役に立ちます。

マクロでちょっとしたデザインの工夫ができると、作業効率も見た目の印象も、ぐっとレベルアップします。

コメントする

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

上部へスクロール