Excelで結合セルの行に交互に色を付ける方法【VBAで簡単実装】
Microsoft Excelで大量のデータを扱っていると、行ごとに交互に色を付けると、データが格段に見やすくなり、パターンや傾向も把握しやすくなります。しかし、セルが結合された表では、通常の条件付き書式だけではうまく対応できないことがあります。そこで活躍するのがVBAコードです。VBAを使えば、結合セルを含む表にも簡単に交互の行色を適用できます。この記事では、その具体的な手順をわかりやすく解説します。
Excelで結合セルの行に交互に色を付ける手順
以下のサンプルデータでは、左端の「Category(カテゴリ)」列にさまざまな商品カテゴリ名が入力され、連続する行が「セルを結合」コマンドで結合されています。結合される行数には特定の規則性がない点に注目してください。このデータセットを使って、交互の行色を適用する方法を順番に説明していきます。
ステップ1:Visual Basic Editorを開く
結合セルに交互の行色を適用するには、VBAコードを使用します。まずはVisual Basic Editor(VBE)を開きましょう。
手順は以下の通りです。
❶ リボンの「開発」タブをクリックします。
❷ 「コード」グループにある「Visual Basic」をクリックします。
これでVisual Basic Editorがすぐに開きます。
また、キーボードの「Alt + F11」キーを押すことでも、Visual Basic Editorを開けます。
※「開発」タブが表示されていない場合は、「ファイル」→「オプション」→「リボンのユーザー設定」で「開発」にチェックを入れると表示されます。
ステップ2:新しいモジュールにVBAコードを挿入する
次に、新しいモジュールを開いてVBAコードを挿入します。
❶ メニューの「挿入」をクリックします。
❷ ドロップダウンリストから「標準モジュール」を選択します。
❸ 次のVBAコードをコピーします。
Sub Alternate_Colors()
Dim xRw As Long
Dim xCnt As Long
Dim xColr As Long
With Range("B5").CurrentRegion
.EntireColumn.Interior.Color = xlNone
.EntireColumn.Borders.LineStyle = xlNone
.Columns.Borders(xlInsideVertical).Weight = xlThin
.Columns.Borders(xlInsideHorizontal).Weight = xlThin
.BorderAround , xlThin
xColr = RGB(233, 237, 244)
Do
xColr = RGB(233, 237, 244) + RGB(208, 216, 232) - xColr
xCnt = Cells(xRw + 5, "B").MergeArea.Rows.Count
Cells(xRw + 5, "B").Resize(xCnt, .Columns.Count).Interior.Color = xColr
xRw = xRw + xCnt
Loop While xRw < .Rows.Count - 1
End With
End Sub
❹ コピーしたコードを、新しく開いたモジュールに貼り付けます。
※コード内の「B5」は、ご自身のデータ範囲の先頭セルに合わせて変更してください。
ステップ3:マクロ有効ブックとして保存する
VBAコードを含むブックを保存する際は、以下の手順を行います。
❶ リボンの「ファイル」タブをクリックします。
❷ 「上書き保存」を選択します。ショートカットキーの「Ctrl + S」でも同様に保存できます。
❸ 警告のダイアログボックスが表示されたら、「いいえ」をクリックしてVBAコードを保持したまま進みます。
❹ 「ファイルの種類」ドロップダウンから「Excel マクロ有効ブック (*.xlsm)」を選択して保存します。
ステップ4:VBAコードを実行する
最後に、コードを実行するだけです。
❶ 「開発」タブをクリックします。
❷ 「コード」グループの「マクロ」を選択します。「Alt + F8」キーでもマクロダイアログボックスを開けます。
❸ マクロダイアログボックスで「実行」ボタンをクリックします。
これでVBAコードが実行され、結合セルを含む各行に交互の色が自動的に適用されます。結合行の行数が不規則でも、コードがMergeArea(結合領域)を認識して正しく色分けしてくれるのがポイントです。
練習用シートについて
本記事で紹介した内容は、サンプルExcelファイルの末尾にある練習用シートで、実際に手を動かしながら試すことができます。ぜひ活用してみてください。
まとめ
今回は、Excelで結合セルを含む表の行に交互に色を付ける方法を解説しました。VBAを使えば、結合セルの行数に関係なく、美しい縞模様の配色を一瞬で適用できます。ご不明な点があれば、コメント欄でお気軽にお尋ねください。できる限り迅速にお答えいたします。当サイトExceldemyでは、他にも役立つExcelテクニックを多数紹介していますので、ぜひご覧ください。
関連記事
- Excelの条件付き書式で行に交互の色を付ける方法【動画】
- テーブルを使わずにExcelで行に交互の色を付ける方法(5選)
-
Excel でセルの値に基づいて 1 行おきに色を付ける方法
Excel でセルの値に基づいて行を 1 行おきに色付けする方法を学ぶ必要があります ?大きなデータシートで作業する場合、行の色を交互にする必要があります データセットをよりよく視覚化します。そのようなユニークな種類のトリックを探しているなら、あなたは正しい場所に来ました.ここでは、10 について説明します Excel のセル値に基づいて行の色を交互に変更する簡単で便利な方法。 次の Excel ワークブックをダウンロードして、理解を深め、練習してください。 Excel でセル値に基づいて代替行に色を付ける 10 の方法 アプローチを実証するために、Daily Sales- Fruits
-
Excelでテーブルを使わずに行の色を交互に変更する5つの方法
データを見やすく整理したいとき、テーブルを作成せずにExcelで行の色を交互に変更することができます。この記事では、テーブルを使わずに行の色を交互に設定する方法を詳しく解説します。 テーブルなしで行の色を交互に変更する5つの方法 ここでは、テーブルを使わずに行の色を交互に変更する5つの方法を紹介します。理解しやすいよう、製品・売上・利益・ステータスの4列からなるサンプルデータを使用します。 方法1:塗りつぶしの色機能を使う 塗りつぶしの色機能を使えば、テーブルなしで行の色を交互に変更できます。ただし、完全に手作業となるため、データ量が多い場合は時間がかかる点に注意しましょう。手順は以下の通り