Excel VBAのPatternプロパティについて
Excel VBAのPatternプロパティは、セルの塗りつぶしパターンを設定するために使用します。これは、セルのInteriorオブジェクトのプロパティであり、指定したパターンに従ってセルを塗りつぶします。
Patternの基本的な使用法
Patternプロパティにはいくつかの定数を設定することができます。主な定数には以下のようなものがあります:
xlPatternAutomatic: デフォルトの塗りつぶしパターン。通常はソリッドカラーになります。xlPatternChecker: チェッカーボードパターンxlPatternCrissCross: 十字パターンxlPatternDown: 斜めのストライプパターン (右下がり)xlPatternGray16: 16%グレーxlPatternGray25: 25%グレーxlPatternGray50: 50%グレーxlPatternGray75: 75%グレーxlPatternGray8: 8%グレーxlPatternGrid: グリッドパターンxlPatternHorizontal: 水平ストライプパターンxlPatternLightDown: 薄い斜めのストライプパターン (右下がり)xlPatternLightHorizontal: 薄い水平ストライプパターンxlPatternLightUp: 薄い斜めのストライプパターン (右上がり)xlPatternLightVertical: 薄い垂直ストライプパターンxlPatternLinearGradient: 線形グラデーションパターンxlPatternNone: パターンなしxlPatternRectangularGradient: 矩形グラデーションパターンxlPatternSemiGray75: 75%グレーの半分のパターンxlPatternSolid: ソリッドカラーxlPatternUp: 斜めのストライプパターン (右上がり)xlPatternVertical: 垂直ストライプパターン
以下に基本的な使用例を示します。
Sub SetPattern()
Range("A1").Interior.Pattern = xlGray75
End Sub
上記のサンプルコードでは、A1セルの塗りつぶしパターンを75%グレーに設定しています。
Patternプロパティの動的な使用
以下に、Patternプロパティを動的に使用して、範囲内のセルのパターンを変更するサンプルコードを示します。
Sub ChangePattern()
Dim rng As Range
Dim cell As Range
Dim patterns As Variant
Set rng = Range("A1:C10")
patterns = Array(xlGray75, xlGray50, xlSolid, xlPatternNone)
For Each cell In rng
cell.Interior.Pattern = patterns(Int((UBound(patterns) - LBound(patterns) + 1) * Rnd + LBound(patterns)))
Next cell
End Sub
上記のサンプルコードは、A1からC10の範囲の各セルにランダムなパターンを適用します。このように、Patternプロパティを活用することで、範囲内のセルの塗りつぶしパターンをダイナミックに変更することが可能です。
