InteriorオブジェクトのColorIndexプロパティ

空欄のセルに色

仕事の予定表や予約表などを使うときに、予定の入って無いセルを目立たせたいという場合があります。
確かに、空白が赤く塗ってあればかなり目立ちます。

(サンプルファイルは、こちらから 2010マクロ講座31回サンプルデータ

背景色を設定するInteriorオブジェクトのColorIndex

背景色を設定するには、InteriorオブジェクトのColorIndexプロパティにつけたい色の値を設定します。 シートのA1セルに赤い色を設定したいときは、コードを
Sub iro()
Worksheets("Sheet1").Range("A1").Interior.ColorIndex = 3
End Sub
のように記述すれば、A1セルの背景色を赤くすることができます。 A1などの特定のセルではなく、選択セルの背景を赤くしたいという場合は、Selectionを使って下さい。
Selection.Interior.ColorIndex = 3

空白のセルに色をぬるマクロ1

セル範囲の空白のセルだけ背景色に色をつける

セル範囲のセルの一つ一つに対して、空白ならば色をつけるという場合には、 For Each~Nextステートメントを使って指定した範囲のセル全てに同じ処理(もしも空白ならば、背景色は○)を行います。
For Each構文
「もしも~なら」の判断に使うのは、「If~Thenステートメント」です。 「If~Thenステートメント」を使うと、 論理式(条件式)を使って条件が成立した時の処理を実行することができます。
If~Thenステートメント
サンプルでは、予約表の空欄の背景色を黄色に設定します。
空白のセルに色をぬるマクロ3
コードは以下のようになります。
Sub 空欄セルに色を付ける()
    Dim 空欄 As Range
    For Each 空欄 In Range("C4:F14")
        If 空欄.Value = "" Then
            空欄.Interior.ColorIndex = 36
        End If
    Next
End Sub
コードを実行すると、空欄が黄色に塗られます。
空白のセルに色をぬるマクロ4
スポンサーリンク
スポンサーリンク