こんにちは、じんぺいです。
今回は、Excelの選択範囲にある空白セルに色をつけるマクロと、
その色をリセット(塗りつぶしを解除)するマクロを紹介します。
- 入力漏れを目立たせたいとき
- 書類チェックのミス防止に役立てたいとき
など、業務のちょっとした効率アップにピッタリな内容です。
後半ではコードの1行ずつ丁寧な解説もしていますので、VBAに不慣れな方も安心してご覧ください。
✅ 空白セルに色を付けるマクロ
▶ マクロコード
Sub 選択範囲_空白セルに色付け()
Dim セル As Range
For Each セル In Selection
If セル.Value = "" Then
セル.Interior.Color = RGB(255, 200, 200) ' 薄いピンクで塗る
Else
セル.Interior.ColorIndex = xlNone ' 塗りつぶしを解除
End If
Next セル
End Sub
▶ コードの詳しい解説
Sub 選択範囲_空白セルに色付け()
- マクロの名前です。
- 処理内容が分かりやすいように、日本語で記述しています。
Dim セル As Range
セル
という変数を定義します。Range
型は、セルやセル範囲を扱うときに使います。
For Each セル In Selection
- 選択したセル範囲(Selection)の中を1つずつ処理するループです。
If セル.Value = "" Then
- セルの値が空白(=空文字列)の場合の条件分岐です。
セル.Interior.Color = RGB(255, 200, 200)
- 空白セルを薄いピンク色に塗りつぶします。
RGB(255, 200, 200)
は、柔らかく目立つピンク色です。
Else
- 空白ではなかった場合の処理です。
セル.Interior.ColorIndex = xlNone
- 色がついている場合は塗りつぶしを解除して、元の状態に戻します。
Next セル
- 次のセルへ進んで、同じ処理を繰り返します。
🧼 色をリセット(塗りつぶし解除)するマクロ
色だけをリセットしたいときに使えるマクロも紹介しておきます。
「全体を再チェックしたい」「色付けが邪魔になった」などの場面に便利です。
▶ マクロコード
Sub 選択範囲_塗りつぶしを解除()
Dim セル As Range
For Each セル In Selection
セル.Interior.ColorIndex = xlNone
Next セル
End Sub
▶ コードの詳しい解説
Sub 選択範囲_塗りつぶしを解除()
- マクロの名前です。「塗りつぶしを解除」する内容がひと目で分かります。
Dim セル As Range
- 各セルを処理するための変数
セル
を定義します。
For Each セル In Selection
- 選択範囲のセルを1つずつ取り出して処理します。
セル.Interior.ColorIndex = xlNone
- 各セルの塗りつぶしを解除します。
ColorIndex = xlNone
は「色なしにする」という意味です。
Next セル
- 次のセルに進んで、すべてのセルに処理を繰り返します。
💡 補足:ColorとColorIndexの違い
項目 | 説明 |
---|---|
Color | RGBで細かく色を指定できる。例:RGB(255, 200, 200) |
ColorIndex | Excelのカラーパレット番号。xlNone で色なしにできる |
色を「つける」ときは Color
色を「消す(リセット)」ときは ColorIndex = xlNone
という使い分けが便利です。
✍ まとめ
今回紹介した2つのマクロは、とてもシンプルながら実務で役立つ場面が多い便利マクロです。
- 空白セルに色をつけることで、入力ミスや未記入欄がひと目で分かる
- 色を解除することで、再チェックや別の用途にも使いやすくなる
とくにチェック業務のある方や、他の人のファイルを管理する方にはおすすめです。
今後も、Excel VBAの便利マクロを少しずつ紹介していきます。
ご質問や「こういうマクロも知りたい!」というリクエストがあれば、ぜひコメントで教えてくださいね。
それでは、じんぺいでした!
コメント