Colorプロパティ

Excelで文字の色を付けるには、ホームタブ→フォント→フォントの色、で設定します。これは多くの人が使ったことのある機能でしょうね。

VBAで文字の色を付けるにはColorプロパティを利用します。


構文

親オブジェクトにはFontオブジェクトを指定します。

Colorプロパティで取得する値はDouble型のRGB値になります。設定する場合も同様にRGB値を設定します。

RGB値とはRGB関数で赤、緑、青の割合をそれぞれ0から255の範囲で設定した結果の値になります。RGB関数は「RGB(赤割合, 緑割合, 青割合)」で記述します。


サンプルコード

以下のコードはアクティブセルの文字色を取得し、そのあとにアクティブセルの文字色に赤を設定するサンプルです。

文字色の設定ではRGB関数とは別に、VBAで用意されているColorConstants定数の8色が指定できます。

8行目ではRGB関数で赤色に、9行目では定数で赤色にしています。どちらでも構いません。


設定できる色の定数

上のサンプルでも使用しているColorConstants定数は以下になります。これらの定数値は同じ色をRGB関数で計算した場合の値と一致します。

色見本 定数 16進数
vbBlack 0 0
vbRed 255 &HFF
vbGreen 65280 &HFF00
vbYellow 65535 &HFFFF
vbBlue 16711680 &HFF0000
vbMagenta マゼンタ 16711935 &HFF00FF
vbCyan シアン 16776960 &HFFFF00
vbWhite 16777215 &HFFFFFF



Colorプロパティの値はテーマに依存しない

Excel2007以降ではブック全体の色やフォントの種類を指定する「テーマ」の考え方が導入されました。

テーマを変更すると、事前にテーマを設定していた個所は追従して色やフォントが変更されます。

テーマは便利な機能ではありますが、なんでもかんでもテーマ色に染めるため、個別にカスタマイズしたいような場面の場合は使い勝手が悪くなる側面もあります。

そういう場合はフォントの文字色の設定をColorプロパティで行うとよいです。Colorプロパティはテーマに依存しないため、設定したRGB値の色がテーマに関わらず表示されます。