VBA セルやセル範囲の塗りつぶし

VBAのInteriorは、Excelのセルやセル範囲の塗りつぶし(背景)に関するプロパティやメソッドを操作するためのオブジェクトです。セルの背景色を変更したり、パターンを設定したりする際に使います。


概要

  • Interiorはセルの内部(塗りつぶし部分)を表すオブジェクト。
  • Rangeオブジェクトのプロパティとして使います。
  • 背景色やパターン、透過度などの設定が可能。

主なプロパティ

プロパティ名説明
.ColorLong塗りつぶし色をRGBカラーコードで設定
.ColorIndexLong塗りつぶし色をExcel標準カラーパレットの番号で設定(1〜56)
.PatternXlPatternパターンの種類(塗りつぶしの種類)を指定
.PatternColorLongパターンの色を設定
.PatternColorIndexLongパターンの色をカラーパレット番号で指定
.TintAndShadeDouble色の明るさ・暗さの調整 (-1.0〜1.0)
.PatternTintAndShadeDoubleパターン色の明るさ・暗さの調整

色の設定方法

1. .Color プロパティ

  • RGB関数を使って指定可能。
    例:
Range("A1").Interior.Color = RGB(255, 0, 0)  ' 赤色に塗りつぶし
  • 24ビットカラーで指定可能(0〜16,777,215)

2. .ColorIndex プロパティ

  • Excelの標準カラーパレットの番号で指定(1〜56)
  • たとえば、3は赤、6は黄色など。
  • Colorより手軽だが色の種類は限定的。
Range("A1").Interior.ColorIndex = 3  ' 赤色に塗りつぶし

パターンの設定

パターンの種類はXlPattern列挙体で指定します。主なものを以下に示します。

パターン名説明
xlNone-4142パターンなし(透明)
xlSolid1単色で塗りつぶし
xlGray25-412425%グレーの斜線
xlGray50-412550%グレーの斜線
xlChecker9チェック柄
xlLightHorizontal11薄い横線
xlLightVertical12薄い縦線
xlDiagonalDown13斜め下線
xlDiagonalUp14斜め上線

例:

Range("A1").Interior.Pattern = xlGray25
Range("A1").Interior.PatternColor = RGB(0, 0, 255) ' 青色パターン

実用例

1. セルの背景色を赤に変更

Sub SetRedBackground()
Range("B2").Interior.Color = RGB(255, 0, 0)
End Sub

2. 複数セルにパターン付き塗りつぶし

Sub PatternFillExample()
With Range("C3:D5").Interior
.Pattern = xlChecker
.PatternColor = RGB(0, 128, 0) ' 緑色パターン
.Color = RGB(255, 255, 0) ' 背景黄色
End With
End Sub

3. 塗りつぶしを解除(透明に戻す)

Range("A1").Interior.Pattern = xlNone

注意点

  • .ColorIndexはExcelのカラーパレットによる番号なので環境によって色が微妙に異なる場合あり。
  • .ColorはRGB指定なので、より正確に色を指定可能。
  • .PatternxlNoneにすると塗りつぶしは透明になります。

まとめ

プロパティ用途
.ColorRGBカラーコードで色を指定
.ColorIndexカラーパレット番号で色指定
.Pattern塗りつぶしパターンを設定
.PatternColorパターンの色を指定
.TintAndShade色の明るさ/暗さを調整
タイトルとURLをコピーしました