空白かどうかが分かりにくい場合は背景色を付ける
Excelの表形式のデータを見る際に、結構ネックになるのが空白セルです。
空白どこよ?ってなるわけです。
そういう場合は背景色を付けて明示しましょう。
以下のマクロでは選択セル範囲にある空白セルに背景色を設定しています。おまけで枠線も付けてます。不要だったらコメントアウトしてください。
また、背景色を付けたあとに背景色を消したい場合のマクロも紹介しています。
1. 空白セルに背景色を付けるマクロ
選択セル範囲を1セルずつループして、未入力の場合は背景色と枠線を設定するマクロです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
Sub SetBkColorVoidCell() Dim r As Range '// セル '// 選択セル範囲をループ For Each r In Selection '// セルが未入力の場合 If (r.Value = "") Then '// 背景色に黄色を設定 r.Interior.Color = RGB(255, 255, 0) '// 上下左右の枠線を設定 Call r.BorderAround(xlContinuous) End If Next End Sub |
2. 選択セル範囲の背景色と枠線をクリアするマクロ
背景色を設定したあとに、値を入れてから再度空白セルの確認を行う、という繰り返しの作業を行う場合に、手でいちいち背景色を無しの状態に戻すのは面倒です。
このマクロは上のマクロと逆で、選択セル範囲の背景色と枠線をクリアします。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub SetBkColorClear() '// 背景色クリア Selection.Interior.Color = xlNone '// 枠線クリア Selection.Borders(xlDiagonalDown).LineStyle = xlNone Selection.Borders(xlDiagonalUp).LineStyle = xlNone Selection.Borders(xlEdgeLeft).LineStyle = xlNone Selection.Borders(xlEdgeTop).LineStyle = xlNone Selection.Borders(xlEdgeBottom).LineStyle = xlNone Selection.Borders(xlEdgeRight).LineStyle = xlNone Selection.Borders(xlInsideVertical).LineStyle = xlNone Selection.Borders(xlInsideHorizontal).LineStyle = xlNone End Sub |
使い方
判定したいセル範囲を選択してマクロを実行するだけです。
使い方の例です。
1. 入力されているセル範囲を選択します。
2. 上のマクロ(SetBkColorVoidCell関数)を実行します。実行後、空白セルには背景色と枠線が設定されます。実際は選択状態が残っていますが見やすくするためにはずしています。
3. 再度クリアします。実行するマクロは2つ目のSetBkColorClear関数です。実行後、背景色と枠線が消えます。
カスタマイズ方法
1つ目のコードでは背景色に標準の黄色を設定しています。
RGB関数で好きな色を設定してください。少し暗い黄色であればこんな感じになります。
1 |
r.Interior.Color = RGB(240, 240, 20) |
枠線も同様にカスタマイズできます。BorderAroundメソッドは「罫線の種類と太さと色をまとめて設定する」に詳細を書いていますのでご参照ください。