【Excelマクロ】Hex

Excelマクロ

Hexとは

ExcelVBAで色を設定するには、次の3つがあります。

①ColorIndex
②RGB
③Hex

このうち、Hexについて、お話をしようと思いますが、かなりマニアックなお話になります。

VBAを使う上ではHexを知らなくても②RGBの設定方法を知っていれば、十分です。

ここでは、それでもHexについて少し知りたい!と言う方へ向けて、書いているので、興味があるあなたはこのまま読み進めてください。

Hexは「#」と「16進数」で表し、例えば「赤」については「#FF0000」と言うふうに表します。

16進数で表していて、そもそも16進数とは・・・

16進数とは

16進数の細かい内容を知らなくてもHexは利用することができますが、どのようなものかだけお話ししておきます。

普段、私たちは10進数を主に使っています。10進数は1〜9までが「1桁目」で、次が「10」となって2桁目になります。

そのため、1桁目が0→9になれば、2桁目を「+1」して、次は20になる、と言うのが10進数です。

それに対し、16進数では1桁目が0〜F、で表されます。

10進数 1、2、3・・・9、10、11、12、13、14、15、16、17・・・
16進数 1、2、3・・・9、A、B、C、D、E、F、10、11・・・

10進数の10が16進数のAに対応しています。

そして、16になったときに、2桁目が「+1」されるので、10進数の16が16進数では10となります。

かなりややこしいことを言いましたが、要は0〜Fが使われている、と言うことです。

RGBとHexの関係

色の表現としては、次の3つがあります。

①RGB(通常)
②Hex(通常)
③Hex(VBA用)

①②に関しては、「色の設定」から見えるもので、次のパレット内に記載してあるRGBの値やHexのことです。

上記の「色の設定」では「白」はRGB(255,255,255)」であること、Hexは「#FFFFFF」であることになっています。

①RGB(通常)

全てが255だとわかりづらいので、別の色で説明すると、RGBに関しては、3つの数字で赤(Red)、緑(Green)、青(Blue)を表しますが、例えば「赤」の場合には「RGB(255,0,0)」と表現します。

これをHexに直す場合には、「#」をつけるのと、左からそれぞれの数値を16進数に直していきます。

②Hex(通常)

255は16進数だと「FF」になり、0は「00」なので、赤はHexでは「#FF0000」と表現します。

③Hex(VBA)

これをVBA上で利用するにはさらに工夫が必要で「&H」と「16進数」で表します。

この場合に、通常のHexはRGBの並びで表現をしましたが、VBA上では「BGR」で反対に表現をします。

そのため、赤は「&H0000FF」が赤を表しています。

これが青の場合には、次のようになります。

①RGB(通常) RGB(0,0,255)
②Hex(通常) #0000FF
③Hex(VBA) &HFF0000

まとめ

色については、今回のHexを含め、ColorIndex、RGB、Hexの方法をお伝えしましたが、今回説明したようにHexについては、かなりマニアックな内容となります。

RGBの内容と、BGRであることを理解していれば、Hexでも設定はできるかと思いますが、私の一番のおすすめは「色の設定」で見てそのままわかる「RGB」の設定でVBA上も設定するのがいちばんのオススメです。

コメント