EXCEL VBAでカラーチャートを作りたいです
お世話になります。VBAを勉強中の者です。
自分なりに調査してみたのですが、解決できなかったので質問させて頂くことにしました。
EXCEL2003を使ってカラーチャートを作成しています。
1セル1色を、(色の)漏れがなく、かつ、ダブり無く塗りつぶし、
1つのシートのセルを全て使って256×256×256色のグラデーションを作成しようとしています。
上述カラーチャートを作成するにあたり、
まずは簡単なSubプロシージャを作成することにしました。
RGB関数のRedの値を0から255まで変化させ順次セルを塗りつぶすことで
黒→赤 のグラデーションを得ようと考えたのです。
作成したコードは以下の通りです。
このコードを実行すると、意図している黒から赤への連続的なグラデーションは得られず、
Redの値が0から64までは黒、65から192までは栗色っぽい色、193から255までは赤
という3色しか表示されない結果となりました。
Excelは、セルの塗りつぶしやフォントの色などをカラーインデックスという形で
保持しているということまでは、調査で把握しました。256色の連続的なグラデーション
ではなく、3色のグラデーションとなってしまったのは、RGB関数で指定した値が
カラーインディックスに丸め込まれたからであるとは予想がつきますが、
RGB関数で指定した色でセルを塗りつぶす方法が分かりません。
グラデーションを得るにはどうすれば良いのでしょうか?
お力をお借りしたいです。宜しくお願い致します。
- - - - - - - - - - - - -
Sub RGB_Color_Red()
Dim n As Long
Dim cnst As Long
cnst = 0
For n = 1 To 256
Cells(n, 1).Interior.Color = RGB(n - 1, cnst, cnst)
Next
End Sub
- - - - - - - - - - - - -
お礼
ご返答ありがとうございます。
補足
補足ですが、いろいろな記事を見ると約171億通りとしか表記されていませんでした。そのため、グレーコードのパターンかというのかわかりません。もうしわけありません。