VBAでの色指定の基本はRGB設定ですが、Officeの色番号でも指定することができます。
色番号とRGBの関係は以下の様になります。
※記述ミスを修正しました(2023/03/26)
なお色番号は以下の様に一部の色が被っています。理由は分かりません。
実はこれはExccel(Office共通)で・・・
Windowsの場合は・・・
ファイル>オプション>保存>カラー
ファイル>オプション>保存>カラー
で確認できます。
mac_OSの場合は・・・
Finder>Excel>環境設定>共有とプライバシー>互換性
で確認できます。
■Rangeの引数でセルに色を設定する
セルの文字色と背景色の設定方法を整理しました。色はRGB値で設定します。
Rangeの引数にセル名を指定すると、そのセルに色を付けられます。
セル「A4」に色を付けるには
Range("A4").Font.Colorや
Range("A4").Interior.Color
と入力します。
--------------------
Sub 色指定()
Range("A4").Font.Color = RGB(255, 0, 0) ' 文字色 赤
Range("A4").Interior.Color = RGB(255, 255, 200) ' 背景色 ライトイエロー
End Sub
--------------------
処理結果です。
■Cellsの引数でセルに色を設定する
Cellsの引数にセルの行と列の番号を指定すれば、色を付けられます。
行「3」、列「B」に色を付けるには
Cells(3, 2).Font.Colorや
Range("B3").Interior.Color
などと入力します。
--------------------
Sub 色指定()
Cells(3, 2).Font.Color = RGB(0, 0, 255) ' B3 青
End Sub
--------------------
または、
--------------------
Sub 色指定()
Cells(3, 2).Interior.Color = RGB(240, 248, 255) ' B3 アリスブルー
End Sub
--------------------
ColorIndexプロパティからも色を設定できます。それぞれの色に対応した数値を設定します。
--------------------
Sub 色指定()
Range("B3").Font.ColorIndex = 5 ' 青
Range("B3").Interior.ColorIndex = 0 ' 塗りつぶしなし
End Sub
--------------------
処理結果です。
■Rangeの引数でセルの範囲に色を設定する
セルの範囲「C2」~「E6」に同じ色を設定するには
--------------------
Sub 色指定()
Range("C2:E6").Font.Color
End Sub
--------------------
または
--------------------
Sub 色指定()
Range("C2", "E6").Font.Color
End Sub
--------------------
と入力します。
--------------------
Sub 色指定()
Range("C2:E8").Font.Color = RGB(255, 255, 255) ' 文字色 白
Range("C2", "E8").Interior.Color = RGB(255, 128, 0) ' 背景色 オレンジ
End Sub
--------------------
処理結果です。
■別シートのセルに色を設定する
シートを指定するにはWorksheetsの引数にシート名またはインデックスを指定します。
Sheet2を指定するには
Worksheets("Sheet2") または Worksheets(2)
と入力します。
■Sheet2のセル「B5」に文字色を設定する場合
--------------------
Sub 色指定()
Worksheets("Sheet2").Range("B5").Font.Color = RGB(128, 0, 255) ' 青紫
End Sub
--------------------
または
--------------------
Sub 色指定()
Worksheets(2).Range("B5").Font.Color = RGB(128, 0, 255) ' 青紫
End Sub
--------------------
処理結果です。
■Sheet3のセル「D4」に背景色を設定する場合
--------------------
Sub 色指定()
Worksheets("Sheet3").Range("D4").Interior.Color = RGB(0, 255, 0) ' 黄緑
End Sub
--------------------
または
--------------------
Sub 色指定()
Worksheets(3).Range("D4").Interior.Color = RGB(0, 255, 0) ' 黄緑
End Sub
--------------------
処理結果です。
※2023/3/18 加筆・修正