アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルのVBAを始めたばかりの初心者です。
選択した塗りつぶしていないセルのRGB色を
Selection.Cells.Interior.Color
で取得して、メッセージボックスに出すと、「16777215」と表示されます。
なぜ、何も塗られていないのに、0ではなく、このような数値になるのでしょうか?

意味が分かっていませんが、「もし選択したセルが塗られていなければ」という時に
If Selection.Cells.Interior.Color = 16777215 then
という風に使ってしまっており、動いていますが、意味が知りたいです。

また、そもそも色のついたセルでも同じ方法で表示される数値の意味が分かりませんので
そもそものこの数値の意味も知りたいです。

ご教授よろしくお願いいたします。

A 回答 (2件)

白 #FFFFFF / RGB(255,255,255) / 16777215


24ビットのhigh-valueのようです。
1111 1111 1111 1111 1111 1111
    • good
    • 1
この回答へのお礼

なるほど。塗りつぶしていないから0かと思いましたが、
逆で、RGB(255, 255, 255)が塗りつぶされていると
考えるべきだったのですね。
ご回答ありがとうございました。

お礼日時:2016/02/14 21:13

If Selection.Cells.Interior.Color = 16777215 thenの代わりに、


If Selection.Cells.Interior.Color.Index = xlNone Thenとも書けます。
    • good
    • 0
この回答へのお礼

そのような書き方もあるのですね。
後から見直した時にわかりやすいですし、覚えやすいので、
次からは教えていただいたように書こうかと思います。
ご回答ありがとうございました。

お礼日時:2016/02/14 21:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A