VBAで色を16進数(Hex)で指定するには &H を使います。ただし通常のHex(#FF0000など)とは色の並びが逆(BGR)になるので注意が必要です。普段は RGB() の方が直感的でわかりやすいので、HexはRGBとの対応関係を理解した上で必要なときだけ使いましょう。
この記事では、次の内容を順番に解説します。
- VBAで色を指定する3つの方法
- 16進数(Hex)とは何か
- RGBとHexの変換と、VBA用の注意点
VBAで色を指定する3つの方法は?
VBAでセルや文字に色をつけるには主に3つの方法があります。
- ColorIndex:1〜56の番号で色を指定する。古い方法で色の種類が少ない。
- RGB:赤・緑・青の3つの数値(0〜255)で色を指定する。直感的でわかりやすい。
- Hex(16進数):
&Hと16進数で色を指定する。Webカラーコードに慣れている場合に使いやすい。
この中で一番わかりやすく使いやすいのは RGB です。Hexは知識として知っておくと役立つ場面があります。
16進数とは?
普段使っている数字は10進数で、0〜9の10種類を使います。10になると桁が上がります。
16進数は0〜9とA〜Fの16種類を使います。Fの次が10(16進数の「10」)になります。
- 10進数:0, 1, 2 … 9, 10, 11 … 15, 16, 17 …
- 16進数:0, 1, 2 … 9, A, B, C, D, E, F, 10, 11 …
色の設定では、255(10進数)= FF(16進数)、0(10進数)= 00(16進数)になります。
RGBとHexの対応関係は?
「赤」を例に3つの表現を比べると次のようになります。
- RGB(通常):
RGB(255, 0, 0)赤=255・緑=0・青=0 - Hex(通常・Webカラー):
#FF0000左からR・G・Bの順 - Hex(VBA用):
&H0000FF左からB・G・Rの順(逆!)
VBAのHexはWebカラーとは色の並びが逆(BGR)になっています。これが一番の注意点です。
「青」で確認してみる
- RGB(通常):
RGB(0, 0, 255) - Hex(通常):
#0000FF - Hex(VBA用):
&HFF0000← 赤と青が入れ替わる
' RGBで赤を指定する
Range("A1").Interior.Color = RGB(255, 0, 0)
' HexでRGBと同じ赤を指定する(BGRの順に注意)
Range("A1").Interior.Color = &H0000FF
まとめ
HexはWebデザインに慣れている方には馴染みやすい表現ですが、VBAではBGRの順になるという落とし穴があります。迷ったらRGBを使うのが一番シンプルです。
- おすすめはRGB:
RGB(赤, 緑, 青)で直感的に指定できる。 - HexはVBAではBGR:通常のWebカラー(#RRGGBB)とは並びが逆になる。
- VBAのHexの書き方:
&Hに続けて6桁の16進数を書く。
よくある質問
WebカラーコードをそのままVBAで使うには?
Webカラー(#RRGGBB)をVBAのHexに変換するには、R・G・Bを逆にしてBGRの順にする必要があります。たとえば #1A2B3C なら &H3C2B1A になります。変換が面倒な場合はRGBで書く方が確実です。
RGBの値はどこで確認できる?
Excelの「セルの書式設定」→「塗りつぶし」→「その他の色」→「ユーザー設定」タブを開くと、選んだ色のRGB値が確認できます。この値をそのままVBAの RGB(赤, 緑, 青) に使えます。

ColorIndexとRGBはどう使い分ける?
ColorIndexは1〜56の限られた色しか指定できませんが、古いマクロとの互換性があります。RGBは約1677万色を指定できるので、色の細かい指定が必要な場合はRGBを使います。新しく作るマクロはRGBを使うのがおすすめです。
Hex関数はVBAに存在する?
はい、Hex(数値) という関数があり、10進数を16進数の文字列に変換します。たとえば Hex(255) は "FF" を返します。色の設定には直接使いませんが、16進数への変換が必要な場面で役立ちます。
VBAでHexを使うメリットはある?
Webデザインのカラーコードを参考にしながら色を設定する場合、HexからRGBに変換せずに使える点はメリットです。ただしBGRへの変換が必要なので、慣れていない場合はRGBで書いた方がミスが少なくなります。
動画で学びたい方へ
「記事を読んでも、実際に自分で書けるか不安…」という方には、動画で基礎からじっくり学べる講座がおすすめです。
VBAが初めての方を前提に、つまずきやすいポイントを先回りして解説しています。サンプル動画は無料でご覧いただけます。



