Excelでデータ入力をしていると、こんなことはありませんか?
- 入力漏れがどこか分からない
- 空白セルを目視で探すのが大変
- チェック作業に時間がかかる
このような場合は、VBAで空白セルだけに色をつけることで一発解決できます。
入力漏れを瞬時に可視化できるため、実務でも非常に便利なテクニックです。
この記事でできること
- 空白セルを自動で色付けできる
- 入力漏れを一目で確認できる
- 指定範囲だけ処理できる
- シート全体にも対応できる
基本コード(コピペOK)
まずは一番シンプルなコードです。
Option Explicit
Sub HighlightBlankCells()
Dim targetRange As Range
Dim cell As Range
' 対象範囲(例:A1~D20)
Set targetRange = Range("A1:D20")
' 色を一旦クリア
targetRange.Interior.ColorIndex = xlNone
' 空白セルに色をつける
For Each cell In targetRange
If Trim(cell.Value) = "" Then
cell.Interior.Color = RGB(255, 255, 0)
End If
Next cell
MsgBox "空白セルに色をつけました。", vbInformation
End Sub
コードのポイント解説
① 対象範囲の指定
Set targetRange = Range("A1:D20")
色付けする範囲を指定しています。
必要に応じて変更できます。
② 色のリセット
targetRange.Interior.ColorIndex = xlNone
前回の色が残らないように、一度クリアしています。
③ 空白判定
If Trim(cell.Value) = "" Then
空白だけでなく、スペースだけのセルも検出できます。
応用①:シート全体を対象にする
データ全体をチェックしたい場合はこちらです。
Set targetRange = ActiveSheet.UsedRange
入力されている範囲だけを自動取得できます。
応用②:数式で空白のセルにも対応
数式で「空白に見えるセル」は、Valueでは検出できない場合があります。
If Trim(cell.Text) = "" Then
これで表示上の空白も検出できます。
応用③:特定列だけチェックする
例えばA列だけをチェックする場合はこちらです。
Set targetRange = Range("A:A")
応用④:色を変更する
色はRGBで自由に変更できます。
cell.Interior.Color = RGB(255, 200, 200)
- 黄色 → RGB(255,255,0)
- 赤 → RGB(255,0,0)
- 薄ピンク → RGB(255,200,200)
実務での活用例
- 入力チェック(未入力項目の確認)
- アンケート集計の確認
- 名簿の未入力チェック
- 報告書の記入漏れ確認
特に入力チェック用途では、かなり使用頻度が高いマクロです。
よくあるエラーと対処法
① 空白なのに反応しない
スペースが入っている可能性があります。
Trim関数を使うことで解決できます。
② 数式の空白が反応しない
Textプロパティに変更してください。
③ コードは正しいのにエラーになる
Webからコピーしたコードの場合、次の問題が起きることがあります。
- 全角スペース
- 見えない特殊文字
- 記号の崩れ
その場合は、
- 該当行を削除
- 手入力し直す
だけで解決することがあります。
まとめ
- 空白セルはVBAで簡単に可視化できる
- Trimで精度を上げる
- UsedRangeで自動範囲対応できる
- 入力チェックに非常に便利
空白セルの可視化は、データ品質を上げるための基本テクニックです。
このマクロを使えば、入力漏れチェックの時間を大幅に削減できます。


コメント