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