【Excel VBA】セルの背景色を設定する

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であらかじめ定義されたカラー定数を使うことが出来ます。このカラー定数には次のものがあります。

名前
vbBlack0x0
vbRed0xFF
vbGreen0xFF00
vbYellow0xFFFF
vbBlue0xFF0000
vbMagenta0xFF00FFマゼンタ
vbCyan0xFFFF00シアン
vbWhite0xFFFFFF
カラー定数

次の例はカラー定数を使ってセルの背景色を赤に設定します。

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の値
000
00255
02550
シアン0255255
25500
マゼンタ2550255
黄色2552550
255255255

次の例はセルの背景色を青に設定します。

Range("B2:E5").Interior.Color = RGB(0, 0, 255)

カラーパレットのインデックス番号で色を設定する

Excelにはカラーパレットがあります。カラーパレットは[ファイル]>[オプション]>[保存]>[以前のバージョンのExcelで表示する色を選択する]の[色]ボタンをクリックして確認することが出来ます。

Excelのカラーパレット
Excelのカラーパレット

カラーパレットの色にはそれぞれインデックス番号が割り振られています。InteriorオブジェクトのColorIndexプロパティに、カラーパレットのインデックス番号を指定してカラーパレットの色に設定することができます。

Interiorオブジェクトの取得とColorIndexプロパティの参照・設定をまとめて行うには次のようにします。

Rangeオブジェクト.Interior.ColorIndex
Rangeオブジェクト.Interior.ColorIndex = インデックス番号またはXlColorIndex列挙型の定数

ColorIndexプロパティには、XlColorIndex列挙型の定数を設定することもできます。定数には次のものがあります。

名前説明
xlColorIndexAutomatic-4105自動設定
xlColorIndexNone-4142色なし
XlColorIndex列挙型の定数

次の例はセルの背景色をカラーパレットのインデックス番号が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列挙型の定数を使います。この定数には次のものがあります。

名前説明
xlThemeColorDark11ダーク1
xlThemeColorLight12ライト1
xlThemeColorDark23ダーク2
xlThemeColorLight24ライト2
xlThemeColorAccent15アクセント1
xlThemeColorAccent26アクセント2
xlThemeColorAccent37アクセント3
xlThemeColorAccent48アクセント4
xlThemeColorAccent59アクセント5
xlThemeColorAccent610アクセント6
XlThemeColor列挙型の定数

上図のテーマカラーの左からの順序と表の順序が対応しています。

次の例は上図の左から5番目のテーマカラーの色を設定します。

Range("B2:E5").Interior.ThemeColor = xlThemeColorAccent1

まとめ

ここで紹介した以外に色合いや色の濃淡を調整することもできます。興味がある方は調べてみてください。

よかったらシェアしてね!
  • URLをコピーしました!
目次