• ベストアンサー

255は赤なのはわかりましたが・・・

vbaについて質問です。 Me.コントロール名.BackColor = 255 は、赤になるってのはわかったのですが 他の数値を設定したときに何色になるかの一覧がわかる方法はありますか? Me.コントロール名.BackColor = 0 Me.コントロール名.BackColor = 1 とひとつひとつ検証して調べるしかないのでしょうか? ヴァージョンは2007です。アドバイスよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • MARU4812
  • ベストアンサー率43% (196/452)
回答No.2

RGBの3色でそれぞれが256階調だから 256×256×256で1677万7216色の表示ができるわけですが、 全部の色を調べたいんですか? 特別な名前の付けられている色なら、 http://goodsearch.jp/ut3/color2.html を参考にしてみるとか。

1wer56
質問者

お礼

参考になりました。ありがとうございます。

その他の回答 (6)

  • sknbsknb2
  • ベストアンサー率38% (1158/3037)
回答No.7

ANo.4です。 ANo.6さんに指摘されて初めて気がつきましたが、ANo.4の説明って、DigitalRGB時代の色の作り方ですね。30年も時代を遡ってしまいました。(-_-; 思い込みで間違った説明をしてしまい申し訳ないです。(ああ、恥ずかしい) ということで、ANo.4の説明は間違いですので無視してください。m(_'_)m

1wer56
質問者

お礼

わざわざありがとうございます。

  • Gotthold
  • ベストアンサー率47% (396/832)
回答No.6

> ANo.4 ジョークだと思うけど、良くこんなの思いついたねw なんかそれっぽい理屈になってるしw

1wer56
質問者

お礼

ありがとうございます。

  • masasonn
  • ベストアンサー率0% (0/9)
回答No.5

この質問は、以前ミタ。 解説した覚えがある(^ははは^) 透明度A 赤R 緑G 青B 256の4乗 っかさ、入門本を読んだほうが理解しやすかろ? 本選びが重要だけどね。 ネットだと表札のとこしかわからないから、はずれ本を購入するかもな。 店頭では、本の種類が少ない。 ま、この掲示板では宣伝できないね。

1wer56
質問者

お礼

参考になりました。ありがとうございます。

  • sknbsknb2
  • ベストアンサー率38% (1158/3037)
回答No.4

RGBの組み合わせで何色になるかは、2進数で考えないとわかりません。 0-255というのは2進数では 0000.0000-1111.1111 ということです。(わかりやすいように4桁で.を入れました) そして例えばマゼンタ(紫)を作りたい場合は、赤と青の合成なので R=1111.1111(255) G=0000.0000(0) B=1111.1111(255) とすると希望の色が得られます。 一桁分が1ドットに相当しますので、同じ桁でRとBが同時に1になっていると、そのドットはマゼンタになるわけです。 シアン(水色)なら緑と青の合成なので、 R=0000.0000(0) G=1111.1111(255) B=1111.1111(255) グレイなら白と黒の合成なので、 R=1010.1010(170) G=1010.1010(170) B=1010.1010(170) この場合は隣り合うドットが白と黒になるので正確には縞模様になりますが、人間の目にはグレイに見えます。 理屈的にはこういうことですが、微妙な色というのは作ってみないとわからないので、自分で作ったり他の人が作った色見本から選択するというのが現実的な方法だと思います。

1wer56
質問者

お礼

参考になりました。ありがとうございます。

  • nac03056
  • ベストアンサー率48% (203/419)
回答No.3

ご質問の直接の答えになるかどうかわかりませんが、 Me.コントロール名.BackColor = 255 の255部分を、 Me.コントロール名.BackColor = RGB(255, 0, 0) と記述するといくらか扱いやすくなります。これは、RGB(赤,緑,青)という色表現の方法で、各色の濃さ(強さ?)を0~255で表現します。絵の具を混ぜるのとは違って光の合成ですので、RGB(255, 255, 255)だと白色に、RGB(255, 191, 191)だとピンクになるなど、それぞれの色の強さと出てくる色に慣れるのに少々時間がかかるかもしれませんが、ディスプレイを扱うときはこのやり方が普通ですので、慣れるしかありません。 ただ、ほとんどの場合が、おおよそそれらしい色が出ていたらいいといった程度なので、他の方が指摘されているような、種類は少ないですが、文字でこの色を表現しているやり方を利用するのも早くていいかもしれません。 ちなみに、本題であるこの色の値を知りたいというのであれば、 Range("a1").Value = RGB(255, 191, 191) と記述すれば、値を見ることができます。ただ、本来上記の方法か16進数表記で扱いやすくなっている色表現なので10進数で見ても乱数を見ているみたいで役には立たないと思います。参考まで。

1wer56
質問者

お礼

参考になりました。ありがとうございます。

noname#159916
noname#159916
回答No.1
1wer56
質問者

お礼

よく読んでみます。ありがとうございました。

関連するQ&A