• ベストアンサー

「Cells(1, 1).Interior.ColorIndex = 255」がエラーになる理由

Cells(1, 1).Interior.ColorIndex = 255 を実行するとエラーになります。 「InteriorクラスのColorIndexプロパティを設定できません。」 となります。 しかし Cells(1, 1).Interior.ColorIndex = 34 はエラーにならず水色になります。 赤は255ではないのですか? 何が原因なのかわかりません。 よろしくお願いします。

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

  • ベストアンサー
  • myRange
  • ベストアンサー率71% (339/472)
回答No.1

IndexColorプロパティのヘルプに答えが書いてあります。 1~56までで、赤は、3になります。 Cells(1, 1).Interior.ColorIndex = 255 また、質問のように255で赤を表したければ、 ColorプロパティとRGB関数を使います。 Cells(1, 1).Interior.Color = RGB(255, 0, 0) 何れにしろそれらのことはヘルプにちゃんと書いてあります。 以上ここまで。  

bmgjtu
質問者

お礼

ColorIndexプロパティとColorプロパティは別物なのですね。ありがとうございます。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.2

ColorIndexはコードで56までしかありません。 >何が原因なのかわかりません。 そいう仕組み(仕様)です。色パレットの数と照応しているのかな。 Sub test03() Range("A3").Interior.ColorIndex = 3 End Sub を実行すると、普通の人は、セルが赤になるだろう。 そこで ツールーオプションー色で赤(左上から3番め。ただしコード大小の順で無いらしく、順序がどうなっているのか小生判らないが)のところをクリックして、変更ボタンをクリック。色の設定のダイアロウグで緑の色をクリックしOK,OKで緑に変わる。 このことから、たとえで言うと、学童用の絵の具のパレットのくぼみが56あり、そこに絵の具のチューブから色を搾り出して置くイメージかな。そしてそれを番号で指定して使う。 だからパレットのくぼみの席番号のようなイメージであって、それが56席しかないと言うことだろう。

bmgjtu
質問者

お礼

なるほど。ありがとうございます。

関連するQ&A