Excel VBAのPatternColorIndexプロパティについて
Excel VBAでは、セルや範囲の塗りつぶしの色を制御するためにPatternColorIndex
プロパティを使用します。このプロパティを使用すると、塗りつぶしのパターンの色を設定したり、現在の色を取得したりすることができます。
PatternColorIndexの基本的な使用法
PatternColorIndex
プロパティは、ColorIndex値と一緒に使用します。その値は、Excelの色パレット内のインデックス番号で、1から56の範囲の値を持つことができます。また、特殊な値としてxlColorIndexAutomatic
(自動)やxlColorIndexNone
(なし)も使用できます。
以下に基本的な使用例を示します。
Sub SetPatternColorIndex()
Range("A1").Interior.Pattern = xlGray75
Range("A1").Interior.PatternColorIndex = 5
End Sub
上記のサンプルコードでは、A1セルの塗りつぶしパターンを75%に設定し、その色を色パレットの5番目の色に設定しています。
PatternColorIndexプロパティの動的な使用
以下に、PatternColorIndex
プロパティを動的に使用して、範囲内のセルの色を変更するサンプルコードを示します。
Sub ChangePatternColorIndex()
Dim rng As Range
Dim cell As Range
Set rng = Range("A1:C10")
rng.Interior.Pattern = xlGray75
For Each cell In rng
cell.Interior.PatternColorIndex = Int((56 - 1 + 1) * Rnd + 1)
Next cell
End Sub
上記のサンプルコードは、A1からC10の範囲の各セルにランダムな色を適用します。このように、PatternColorIndexプロパティを活用することで、範囲内のセルの塗りつぶしの色をダイナミックに変更することが可能です。