オブジェクト内部の塗りつぶし、フォント、輪郭線、罫線などの色をRGB値を用いて設定します。
●詳細●
RGB値の指定には、RGB関数やQBColor関数を使用します。
構文 Object.Color 設定/取得
設定項目 内容
Object Interior、Font、Border、
Bordersコレクションオブジェクト [省略不可]
次のサンプル1はRGB関数で作成されるRGB値を表す色を確認します。
●サンプル1●
Sub ColorSamp1()
Dim i As Integer
For i = 3 To 10
Cells(i, 5).Interior.Color = RGB(Abs(Val(Cells(i, 2).Value)) Mod 256 _
, Abs(Val(Cells(i, 3).Value)) Mod 256 _
, Abs(Val(Cells(i, 4).Value)) Mod 256
'---E列のセルをB、C、D列の値から作成された色で塗りつぶします
Next i
End Sub
セルB3〜D10の範囲に0から255の範囲で値が入力されているときに、それらの値を元にして作成されたRGB値でE列のセルを塗りつぶします。
RGB関数の第1引数は赤の割合、第2引数は緑の割合、第3引数は青の割合を、それぞれ0から255の範囲で指定します。それぞれの数値を変更して、どのような指定でどんな色が作成されるか確認してみてください。QBColor関数は、0〜15の番号に対応した色のRGB値を返します。
次のサンプル2はQBColor関数で作成されるRGB値の表す色を確認します。
●サンプル2●
Sub ColorSamp2()
Dim c As Range
For Each c In ActiveSheet.UsedRange
If IsNumeric(c.Value) Then _
c.Offset(, 1).Interior.Color = QBColor(Abs(CLng(c.Value)) Mod 16)
'---cが数値なら右隣のセルをcの数値をもとに
'---QBColor関数で返される色で塗る
Next c
End Sub
QBColor関数で指定できる色は、マクロの実行結果で確認できる16種類のみです。
なお、引数に0〜15以外の数値を指定すると、エラーが発生します。
●注意●
Colorプロパティでは、「色なし」や「色自動」といった設定はできませんので、そのような設定を行いたい場合には、ColorIndexプロパティを設定してください。