- ベストアンサー
白はどの数字ですか?
vbaで色を指定する時、赤は225ですが 白はどの数字ですか? そのような数値と色が載ってるサイトはありますか?
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
赤は225ではなく255ですね。 白は16777215です。 vbaでの色指定は数字で指定するより、&H0000FFと文字列で指定する方が良いです。 その場合、白は &HFFFFFFです。 この文字列の構造は、00~FFの16進数で表記されていて &Hという文字の後ろに2桁ずつ、青、緑、赤の順番で表現しています。 青色の量 [00~FF] 緑色の量 [00~FF] 赤色の量 [00~FF] をつなげて&Hを先頭につける表記です。 つまり、&H0000FFは 青が0、緑が0、赤がFFという意味です。 他にも 青を出したい場合は、&HFF0000、緑の場合は &H00FF00ですね。 黄色を出したいなら &HFF00FF、 緑が明るすぎるのなら、&H008000となります。 この表記での他の色については、参考URLを見てください。 ------ ここから予備知識 ---- 16進数とは、 1から数えて9の次が10ではなく「A」になり、その後11が「B」、12が「C」・・・15が「F」で、16になって「10」になる数字表記です。 10進数で、1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22,23,24,25,26,27,28と並ぶ場合、 16進数は、1,2,3,4,5,6,7,8,8,A,B,C,D,E,F,10,12,13,14,15,16,17,18,19,1A,1B,1C,1Dとなります。 10進数より少ない桁で大きい数字を表現でき、2進数とのロジカルな親和性が高い事から、 パソコンではよく使われる数字表記方法です。 ※色指定の場合、0~FFの2桁ずつを三原色で連結して表現しますが、 VBAは順序が『特殊』なので他のアプリなどで指定する場合は要注意です。
その他の回答 (4)
- MarcoRossiItaly
- ベストアンサー率40% (454/1128)
皆さんが紹介されている知識に加えて、もう一つ。例えばとりあえず今、セルに塗られている色の番号を知りたいという場合。そのセルにカーソルを置いて、イミディエイトウィンドウに、 debug.Print activecell.Interior.ColorIndex あるいは debug.Print activecell.Interior.Color と打って Enter すれば、番号が分かります。「白」の場合、前者であれば「2」が、後者であれば「16777215」が表示されます。両者には全然違う数値が割り当てられているので、注意してください。 debug.Print vbwhite と打つと、「16777215」が表示されます。 注意点としては、カラーパレットの「テーマの色」だと OS の色設定の影響を受けて異なるプロパティ値が表示されるので、そちらではなくて「その他の色」のど真ん中にある白を選んで上のコードを実行すれば、「2」あるいは「16777215」になるということです。 なお VBE のヘルプには、「ColorIndex プロパティ」、「Color プロパティ」、「RGB 関数」、「色の定数」というページがあります。ご質問のことについて理解が深まると思いますので、一度、見てみてください。
お礼
ありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
追記 こちらのページに数値の使い方が記載されてるのでこちらから先に見たほうがいいでしょう ColorIndexプロパティ値一覧 http://www.relief.jp/itnote/archives/000482.php
お礼
ありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
補足のおまけです 数値以外で Range("A1").Font.Color = vbRed といった感じで定数を使うこともできます。 定数として下記が用意されています。 vbBlack 黒 vbRed 赤 vbGreen 緑 vbYellow 黄 vbBlue 青 vbMagenta マゼンタ vbCyan シアン vbWhite 白
- kmetu
- ベストアンサー率41% (562/1346)
ColorIndexプロパティ値一覧です http://www.relief.jp/itnote/xls_colorindex.php
お礼
ありがとうございました。