教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA セル操作】セルのパターン(Interior.Pattern)を設定する方法を教えて!

構文

構文は以下の通りです。

Worksheets("シート名").Cells(行番号, 列番号).Interior.Pattern = 定数

解説

Interior.Patternプロパティは、セルの背景色やパターンを指定する事ができます。定数には、セルの背景色やパターンを表すスタイルを指定します。設定値を以下で紹介します。

定数 種類
xlNone 塗りつぶしなし
xlSolid 純色 (1,1)
xlGray75 75% 灰色 (1,2)
xlGray50 50% 灰色 (1,3)
xlGray25 25% 灰色 (1,4)
xlGray16 16% 灰色 (1,5)
xlGray8 8% 灰色 (1,6)
xlHorizontal 濃い横線 (2,1)
xlVertical 濃い縦線 (2,2)
xlDown 左上から右下までの濃い対角線 (2,3)
xlUp 左下から右上までの濃い対角線 (2,4)
xlChecker チェッカーボード (2,5)
xlSemiGray75 75% 濃いモアレ (2,6)
xlLightHorizontal 明るい横線 (3,1)
xlLightVertical 明るい縦線 (3,2)
xlLightDown 左上から右下までの明るい対角線 (3,3)
xlLightUp 左下から右上までの明るい対角線 (3,4)
xlGrid グリッド (3,5)
xlCrissCross 十字線 (3,6)

使い方

具体的な使い方を紹介します。

1.背景色を赤に設定したい場合

Worksheets("Sheet1").Cells(1, 1).Interior.Pattern = xlSolid
Worksheets("Sheet1").Cells(1, 1).Interior.Color = RGB(255, 0, 0)

ここでは、xlSolid を使用してセルの背景色を単色に設定し、Interior.Color プロパティを使用して赤色(RGB値で255, 0, 0)に設定しています。

2.セルの背景にチェッカーパターンを適用したい場合

Worksheets("Sheet1").Cells(1, 1).Interior.Pattern = xlChecker
' チェッカーパターンの背景色を白に設定
Worksheets("Sheet1").Cells(1, 1).Interior.Color = RGB(255, 255, 255)
' チェッカーパターンのパターン色を黒に設定
Worksheets("Sheet1").Cells(1, 1).Interior.PatternColor = RGB(0, 0, 0)

ここでは、xlChecker を使用してセルの背景にチェッカーパターンを設定し、Interior.Color プロパティで背景色(白)を、Interior.PatternColor プロパティでパターン色(黒)を設定しています。

プログラミング例

以下は具体的なプログラミング例です。

Sub ColorCellsBasedOnValue()
    Dim cell As Range
    For Each cell In Worksheets("Sheet1").Range("A1:A10")
        If cell.Value > 50 Then
            cell.Interior.Pattern = xlSolid
            cell.Interior.Color = RGB(255, 0, 0) ' 背景色を赤に設定
        Else
            cell.Interior.Pattern = xlNone ' 背景色をなしに設定
        End If
    Next cell
End Sub

この例では、シート「Sheet1」の範囲「A1:A10」のセルの値が50を超える場合は赤色の背景色を設定し、それ以外の場合は背景色をなしに設定しています。

まとめ

Interior.Patternプロパティを使えば、セルの背景色やパターンをプログラムで変更することができます。是非活用してください。