PatternColorIndexプロパティ解説(Excel VBA)

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プロパティを活用することで、範囲内のセルの塗りつぶしの色をダイナミックに変更することが可能です。