« Excelのセルの色を取得、変更する(Excel VBA) | メイン | 画像からGetPixelでピクセル情報を取得し、セルの色を変更(Excel VBA) »



Excelでセルの色を変える - Interior.Colorでうまくいかない(Excel VBA)

前回のExcel VBAでは、オレンジが46など、
Excel VBA特有の色の指定の仕方をしました。

⇒例)
  Range("A1").Interior.ColorIndex = 46


ところで、Excel VBAでは、このような指定の仕方以外にも
RGBを指定して色を変えられるようです。
⇒例)
  Range("A1").Interior.Color = RGB(255, 255, 0)

そこで、その方法を使ってみましたが、うまく行かないこともあるような・・・。
理論上は任意の色を作り出せるはずですが、できないことがあります。
(私のやり方が悪いのかもしれないですが・・・)


ためしにサンプルを作ってみました。
RGBの値を1ずつ変えながら実行するだけのものです。
本当ならきれいなグラデーションとなるはずが、色が分離してしまっています↓

Excel_Cell_Color_1.png
↑色が分かれてしまっている(Excel VBAでのセルの色分けテスト)
 
 
Vcs_Color_2.png
↑本来はこうなるはず(Visual C#での色塗りテスト)
 
  
もう一例やってみたので紹介します(続きから)

やはりだめなよう。
Excel_Cell_Color_2.png
↑色が分かれてしまっている(Excel VBAでのセルの色分けテスト)
 しかも、途中に変な灰色がはいっている・・・。
 
 
Vcs_Color_1.png
↑本来はこうなるはず(Visual C#での色塗りテスト)


回避方法がわかる方、教えてください・・・。

追記:
以下のページに同じ悩みがありました。やはり同時に使える色が限られているようです。
Excelのセルの色の変更方法

同時に使える色が限られてはいますが、
下記のように、カラーパレットを変更すると任意の色にすることはできます。
ThisWorkbook.Colors(1) = RGB(255, 123, 0)
 
以下のページが参考になります。
エクセル:カラーパレット
http://adamontn.blog.ocn.ne.jp/analyst/2007/05/post_4164.html
 
 
※カラーパレットの変更はExcelのメニューバーの
 ツール⇒オプション⇒タブ「色」 からも可能
Excel_Option_Color.png




応援お願いします(人気blogランキングへ)

トラックバック

このエントリーのトラックバックURL:
http://www.bird-soft.net/mt/mt-tb.cgi/217

コメントを投稿