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上も設定するのがいちばんのオススメです。
コメント