Color、ColorIndex、ThemeColorプロパティ
セルの背景色を設定するプロパティにはColor、ColorIndex、ThemeColorプロパティの3つがあります。
それぞれ利用の仕方が異なります。
マクロの記録機能を使って背景色の設定を行うとColorプロパティかThemeColorプロパティで記録されるのですが、ColorIndexプロパティもちゃんと使えます。
構文
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
'// ●Colorプロパティ '// 取得 Range.Interior.Color '// 設定 Range.Interior.Color = RGB() '// ●ColorIndexプロパティ '// 取得 Range.Interior.ColorIndex '// 設定 Range.Interior.ColorIndex = XlColorIndex列挙型、または、1から56 '// ●ThemeColorプロパティ '// 取得 Range.Interior.ThemeColor '// 設定 Range.Interior.ThemeColor = MsoThemeColorSchemeIndex列挙型 |
Range | セル範囲を示すRangeオブジェクトを指定します。 | |||||||||||||||||||||||||||||||||||||||
Interior | セルの内部設定を行うプロパティです。セルの背景の設定では、色や濃淡や塗りつぶし効果(グラデーション)や網掛けを行う際に利用します。 | |||||||||||||||||||||||||||||||||||||||
Color | Colorプロパティで取得する値はDouble型のRGB値になります。設定する場合も同様にRGB値を設定します。RGB値とはRGB関数で赤、緑、青の割合をそれぞれ0から255の範囲で設定した結果の値になります。RGB関数は「RGB(赤割合, 緑割合, 青割合)」で記述します。 | |||||||||||||||||||||||||||||||||||||||
ColorIndex | XlColorIndex列挙型、または、1から56を設定します。ColorIndexプロパティはカラーパレットのインデックス番号に対応しています。カラーパレットの56色の配色はExcelのオプション→保存→色ボタンで表示される「色」ダイアログで変更できます。そのため、標準では黒は1番ですが、常に黒ではありません。これが常に色がRGB値であるColorプロパティとの違いです。
XlColorIndex列挙型
|
|||||||||||||||||||||||||||||||||||||||
ThemeColor | テーマカラーをMsoThemeColorSchemeIndex列挙型で取得および設定します。
内容列に書いている色はExcel2016の標準の状態での色です。テーマが変わったりExcelのバージョンにより色は変わります。 MsoThemeColorSchemeIndex列挙型
|
サンプルコード
以下はColor、ColorIndex、ThemeColorプロパティのそれぞれで背景色の取得と設定を行うサンプルです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Sub InteriorColorPropTest() Dim lColor As Double Dim lColorIndex As Long Dim lThemeColor As Long '// Colorの設定と取得 Range("B4").Interior.Color = RGB(204, 102, 255) lColor = Range("B4").Interior.Color '// ColorIndexの設定と取得 Range("B2").Interior.ColorIndex = 17 lColorIndex = Range("B2").Interior.ColorIndex '// ThemeColorの設定と取得 Range("B6").Interior.ThemeColor = msoThemeAccent5 lThemeColor = Range("B6").Interior.ThemeColor End Sub |
実行結果