6.2 セルに背景色を付ける
RangeオブジェクトのInterior.ColorIndexとInterior.Colorプロパティを使って、セル、行、列に背景色を付ける方法です。どちらの方法も、Excelのバージョンを問わずに使えます。
Rangeオブジェクトは、まいどお馴染みのRange、Columns、Rows、Cellsなどのセルや行列を表すオブジェクトで指定します。
セルの背景色(塗りつぶし色)を設定する方法
 セルの背景色を設定するには、RangeオブジェクトのInterior.ColorIndexプロパティ、またはInterior.Colorプロパティを使います。
 ただし、Excel 2003以前では、使える色の種類がExcelの「標準の色」に定義されている56種類だけに限られるため、ColorIndexプロパティで設定するのが基本です。Excel 2007以降では色に関する制限がないため、どちらのプロパティで設定してもOKです。
 なお、Excel 2007以降でテーマカラーを使ってセルの背景色を設定する方法は、「テーマカラーでセルの背景色を設定する」を参照してください。

図 6-2-1Interior.ColorIndexプロパティの使い方
Rangeオブジェクト.Interior.ColorIndex = 色番号
Excelの標準の色でセルの背景色を設定します。
Excel 2003以前では、この方法を使ってセルの背景色を設定します。Excel 2007以降でも使用できます。

色番号
 Excelの「標準の色」を、1〜56の番号で指定します。0またはxlNoneを設定すると、「塗りつぶしなし」の設定にできます。

Excelの標準色(1〜56の色番号)

【記述例】
A1セルの背景色を赤に設定します。
Range("A1").Interior.ColorIndex = 3

図 6-2-2Interior.Colorプロパティの使い方
Rangeオブジェクト.Interior.Color = RGB値
任意の色でセルの背景色を設定します。
Excel 2003以前とExcel 2007以降では、色の扱い方が異なることに注意してください。任意の色がそのまま使えるのは、Excel 2007以降です。

RGB値
 赤、緑、青の強さから求めたRGB値を設定します。RGB値は、RGB関数を使って求めます。透明(xlNone)を設定すると、背景色の設定がなくなります。
 なお、指定した色がそのまま適用されるのはExcel 2007以降です。Excel 2003以前では、Excelの標準の色に定義されている中から最も近い色が設定されるため実質56色、Excel 2007以降では1,670万色以上使えます。

【記述例】
A1セルの背景色を濃い緑に設定します。
Range("A1").Interior.Color = RGB(0, 128, 0)
セルに背景色を設定するプログラム
 次のリストは、セルに背景色を設定するプログラムの作成例です。6行目ではColorIndexプロパティを使ってA1〜C3セルの背景色を濃い緑色に設定、11行目ではColorプロパティを使ってA5〜C7セルを紺色に設定しています。サンプルでは、Withステートメントを使ってInteriorオブジェクトを記述しました。
 7行目と12行目で使っているPatternプロパティは、網かけの設定です。このサンプルでは、網かけを含めた背景色の設定をクリアする処理を行っています。網かけについては、「セルに網かけを付ける」を参照してください。

リスト 6-2-1セルに背景色を設定するプログラム
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

Sheet1
Option Explicit

Sub InteriorColorSample()

    With Range("A1:C3").Interior
        .Pattern = xlPatternNone
        .ColorIndex = 10
    End With

    With Range("A5:C7").Interior
        .Pattern = xlPatternNone
        .Color = RGB(0, 0, 128)
    End With

End Sub

◆実行結果
 サンプルプログラム「InteriorColorSample」を実行すると、A1〜C3セルとA5〜C7セルに背景色が設定されます。Excel 2003以前の場合は、A5〜C7セルにはExcelのカラーパレットの中にある最も近い色が設定されます。プログラムの7行目と12行目の設定を変えると、色が変化しますので、試してみてください。

図 6-2-3サンプルプログラムの実行例
セルの背景色をColorIndexプロパティで設定した例(上/緑)とColorプロパティで設定した例(下/紺)。

Copyright(C) 1999-2014 結城圭介(Ver.3.51) All rights reserved