VBAで色を設定する方法|ColorIndex・RGB・Hexの使い分け

VBAでセルの背景色や文字色を設定する方法は主に3つあります。ColorIndex(インデックス番号)・Color(RGB)・Color(Hex)です。それぞれ指定できる色の幅と書き方が異なります。

この記事では3つの方法の違いと使い分けを解説します。

ColorIndexで色を設定するには?

ColorIndex は色にあらかじめ割り当てられたインデックス番号で指定します。1行でシンプルに書けますが、使える色は56色に限られます。

' セルA1の背景色を赤(インデックス番号3)に設定
Cells(1, 1).Interior.ColorIndex = 3

' 文字色を青(インデックス番号5)に設定
Cells(1, 1).Font.ColorIndex = 5

よく使うインデックス番号は次のとおりです。

番号
1
2
3
4黄緑
5
6

色をクリアしたい場合は ColorIndex = xlNone と指定します。

RGBで色を自由に指定するには?

RGB(赤・緑・青)の各値を0〜255で指定する方法です。約167万色を表現でき、細かい色指定に最適です。

' 赤
Cells(1, 1).Interior.Color = RGB(255, 0, 0)

' 空色
Cells(1, 1).Interior.Color = RGB(173, 216, 230)

' 文字色をオレンジに
Cells(1, 1).Font.Color = RGB(237, 125, 49)

Excelのセルの書式設定で希望の色を選び、ダイアログ内のRGB値を確認すると、そのままコードに使えます。

Hexで色を指定するには?

16進数での指定方法です。VBAでは &H で始め、BGR(青・緑・赤)の順で記述します(通常のHexとは順序が逆なので注意)。

' 赤(#FF0000 → VBAではBGR順で &H0000FF)
Cells(1, 1).Interior.Color = &H0000FF

' 白(#FFFFFF)
Cells(1, 1).Interior.Color = &HFFFFFF

Hexはウェブデザインなどで慣れている場合に使う方法ですが、RGBと比べてわかりにくいため、初心者には RGB() の方をおすすめします。

まとめ

  • ColorIndex:インデックス番号で56色から指定。シンプルだが色の幅が限られる
  • RGB(赤, 緑, 青):0〜255の値で約167万色を指定できる。最もおすすめ
  • &HBBGGRR:16進数で指定するHex方式。VBAはBGR順のため通常のHexとは逆
  • Excelの「色の設定」ダイアログのRGB値をそのままコードに使うのが最も簡単な色の調べ方
  • 色をリセットする場合は ColorIndex = xlNone を使う

よくある質問

背景色と文字色の設定はどう違いますか?

背景色は Interior.Color(または Interior.ColorIndex)、文字色は Font.Color(または Font.ColorIndex)で設定します。プロパティを替えるだけで同じRGBやColorIndexが使えます。

色を元の状態(デフォルト)に戻すにはどうすればいいですか?

背景色のリセットは Interior.ColorIndex = xlNone、文字色のリセットは Font.ColorIndex = xlAutomatic を使います。

Excel上で選んだ色のRGB値を調べるにはどうすればいいですか?

セルを選択して「ホーム」→「塗りつぶしの色」の▼→「その他の色」→「ユーザー設定」タブを開くと、現在の色のR・G・Bの値が表示されます。この値をそのままコードに使えます。

条件によってセルの色を変えることはできますか?

できます。If〜ThenSelect Case と組み合わせることで、セルの値や条件に応じて動的に色を設定できます。たとえば「値が100以上なら赤、50以上なら黄、それ以外は白」といった処理が可能です。

マクロの記録で生成された色設定のコードは長くなりますが、省略できますか?

できます。マクロの記録では PatternTintAndShade など多くのプロパティが自動生成されますが、色の設定だけが目的なら Interior.Color = RGB(255, 0, 0) の1行だけで同じ結果が得られます。


動画で学びたい方へ

「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。

VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。

動画で学ぶExcelマクロ|JIMOVEオンラインスクール

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

上部へスクロール