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

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