RangeオブジェクトのInteriorプロパティを参照すると、指定したRangeオブジェクトのInteriorオブジェクトを返します。このInteriorオブジェクトはセル(範囲)の内部を表すオブジェクトで、このオブジェクトの各種プロパティを設定することで、セルの背景色の設定や網掛け行うことが出来ます。
セル(範囲)のInteriorオブジェクトは次のように取得することが出来ます。
Rangeオブジェクト.Interior
この記事では、このInteriorオブジェクトの各種プロパティを設定して、セルの背景色を設定する方法を解説します。
RGB値で色を設定する ― Colorプロパティ
InteriorオブジェクトのColorプロパティにRGB値を設定することでセルの背景色を変更することが出来ます。RGB値は色を表すLong型の整数です。Colorプロパティを参照すると現在のRGB値をLong型で返します。
Interiorオブジェクトの取得とColorプロパティの参照・設定をまとめて行うには次のようにします。
Rangeオブジェクト.Interior.Color
Rangeオブジェクト.Interior.Color = RGB値
設定するためのRGB値はいくつかの方法で取得することができます。
カラー定数を使う
RGB値としてVBAであらかじめ定義されたカラー定数を使うことが出来ます。このカラー定数には次のものがあります。
名前 | 値 | 色 |
---|---|---|
vbBlack | 0x0 | 黒 |
vbRed | 0xFF | 赤 |
vbGreen | 0xFF00 | 緑 |
vbYellow | 0xFFFF | 黄 |
vbBlue | 0xFF0000 | 青 |
vbMagenta | 0xFF00FF | マゼンタ |
vbCyan | 0xFFFF00 | シアン |
vbWhite | 0xFFFFFF | 白 |
次の例はカラー定数を使ってセルの背景色を赤に設定します。
Range("B2:E5").Interior.Color = vbRed
XlRgbColor列挙型の定数を使う
RGB値としてXlRgbColor列挙型の定数を使うこともできます。XlRgbColor列挙型にはRGB値が定数として定義されています。定義された定数については XlRgbColor 列挙 (Excel) を参照ください。
次の例はセルの背景色を黄色に設定します。
Range("B2:E5").Interior.Color = rgbYellow
RGB関数でRGB値を生成する
RGB関数を使ってRGB値を生成することもできます。RGB関数はRGB値を表すLong型を返します。構文は次の通りで、引数のred、green、blueには、それぞれの色の成分を0~255の範囲の整数値で指定します。
RGB(red, green, blue)
次の表は標準色とそれぞれの色の数値を示しています。
色 | redの値 | greenの値 | blueの値 |
---|---|---|---|
黒 | 0 | 0 | 0 |
青 | 0 | 0 | 255 |
緑 | 0 | 255 | 0 |
シアン | 0 | 255 | 255 |
赤 | 255 | 0 | 0 |
マゼンタ | 255 | 0 | 255 |
黄色 | 255 | 255 | 0 |
白 | 255 | 255 | 255 |
次の例はセルの背景色を青に設定します。
Range("B2:E5").Interior.Color = RGB(0, 0, 255)
カラーパレットのインデックス番号で色を設定する
Excelにはカラーパレットがあります。カラーパレットは[ファイル]>[オプション]>[保存]>[以前のバージョンのExcelで表示する色を選択する]の[色]ボタンをクリックして確認することが出来ます。

カラーパレットの色にはそれぞれインデックス番号が割り振られています。InteriorオブジェクトのColorIndexプロパティに、カラーパレットのインデックス番号を指定してカラーパレットの色に設定することができます。
Interiorオブジェクトの取得とColorIndexプロパティの参照・設定をまとめて行うには次のようにします。
Rangeオブジェクト.Interior.ColorIndex
Rangeオブジェクト.Interior.ColorIndex = インデックス番号またはXlColorIndex列挙型の定数
ColorIndexプロパティには、XlColorIndex列挙型の定数を設定することもできます。定数には次のものがあります。
名前 | 値 | 説明 |
---|---|---|
xlColorIndexAutomatic | -4105 | 自動設定 |
xlColorIndexNone | -4142 | 色なし |
次の例はセルの背景色をカラーパレットのインデックス番号が3の色に設定します。
Range("B2:E5").Interior.ColorIndex = 3
次の例はセルの背景色を色なしに設定します。
Range("B2:E5").Interior.ColorIndex = xlColorIndexNone
テーマカラーを設定する
セルの背景色にはテーマカラーを設定することが出来ます。テーマカラーはリボンから設定できる色です(下図参照)。

テーマカラーを設定するには、InteriorオブジェクトのThemeColorプロパティに値を設定します。ThemeColorプロパティの参照・設定の構文は次の通りです。
Rangeオブジェクト.Interior.ThemeColor
Rangeオブジェクト.Interior.ThemeColor = XlThemeColor列挙型の定数
ThemeColorプロパティに設定する値にはXlThemeColor列挙型の定数を使います。この定数には次のものがあります。
名前 | 値 | 説明 |
---|---|---|
xlThemeColorDark1 | 1 | ダーク1 |
xlThemeColorLight1 | 2 | ライト1 |
xlThemeColorDark2 | 3 | ダーク2 |
xlThemeColorLight2 | 4 | ライト2 |
xlThemeColorAccent1 | 5 | アクセント1 |
xlThemeColorAccent2 | 6 | アクセント2 |
xlThemeColorAccent3 | 7 | アクセント3 |
xlThemeColorAccent4 | 8 | アクセント4 |
xlThemeColorAccent5 | 9 | アクセント5 |
xlThemeColorAccent6 | 10 | アクセント6 |
次の例は上図の左から5番目のテーマカラーの色を設定します。
Range("B2:E5").Interior.ThemeColor = xlThemeColorAccent1
まとめ
ここで紹介した以外に色合いや色の濃淡を調整することもできます。興味がある方は調べてみてください。