1. Interiorプロパティとは?
Interior
プロパティは、Excelのセルやセル範囲の塗りつぶし(背景)に関する設定を制御するためのプロパティです。Range
オブジェクトからアクセスでき、色やパターンを指定することで、視認性の高いデータ表現や状態別の強調表示などが可能になります。
2. 基本構文
Range("A1").Interior.プロパティ名 = 値
たとえば、セルA1の背景色を黄色にしたい場合:
Range("A1").Interior.Color = vbYellow
3. 主なプロパティ一覧
プロパティ名 | 概要 |
---|---|
.Color | RGBカラー指定(Long型) |
.ColorIndex | カラーパレットインデックスによる色指定 |
.Pattern | 塗りつぶしパターンの種類(例:xlSolid, xlGray50) |
.PatternColor | パターン部分の色(RGB指定) |
.PatternColorIndex | パターン部分の色(インデックス指定) |
.ThemeColor | テーマカラー番号 |
.TintAndShade | 明るさ・暗さの調整(-1 ~ 1) |
4. .Colorプロパティ
最も一般的な色指定方法です。vbRed
などの定数、またはRGB()
関数を使って任意の色を指定します。
Range("B2").Interior.Color = RGB(255, 200, 0) ' 橙色
Range("B3").Interior.Color = vbGreen
5. .ColorIndexプロパティ
Excelのカラーパレットから色を指定(0~56など)。ただし現代のExcelでは非推奨気味。
Range("C2").Interior.ColorIndex = 6 ' 黄色
Range("C3").Interior.ColorIndex = xlNone ' 塗りつぶしなし
6. .Patternプロパティ
塗りつぶしのパターンを変更できます。標準は xlSolid
(無地)。以下は主なパターン:
値 | 説明 |
---|---|
xlSolid | 単色塗りつぶし |
xlGray25 | 25%グレーパターン |
xlGray50 | 50%グレーパターン |
xlNone | パターンなし |
With Range("D2").Interior
.Pattern = xlGray50
.Color = RGB(255, 255, 0)
.PatternColor = RGB(0, 0, 0)
End With
7. .ThemeColor と .TintAndShade
.ThemeColor
Excelのテーマカラー番号を指定します。通常、会社用のテンプレートで色を統一したい場合に便利です。
Range("E2").Interior.ThemeColor = xlThemeColorAccent2
.TintAndShade
0
:元の色(変化なし)-1 ~ 0
:暗くする0 ~ 1
:明るくする
With Range("E3").Interior
.ThemeColor = xlThemeColorAccent2
.TintAndShade = 0.4 ' 明るく
End With
8. 応用例:条件で色分け
数値に応じた色分け
Dim rng As Range
For Each rng In Range("A1:A10")
If IsNumeric(rng.Value) Then
If rng.Value > 100 Then
rng.Interior.Color = RGB(255, 150, 150) ' 赤系
Else
rng.Interior.Color = RGB(150, 255, 150) ' 緑系
End If
End If
Next
9. 塗りつぶしの削除
塗りつぶしを消したいときは、以下のように設定します:
Range("A1:A10").Interior.ColorIndex = xlNone
または:
Range("A1:A10").Interior.Pattern = xlNone
10. セル範囲への一括設定
複数セルに一括で色をつける場合も同じように操作できます。
Range("B2:D4").Interior.Color = RGB(220, 230, 241)
11. 書式だけクリア(背景色だけ消す)
Range("A1:D10").Interior.Pattern = xlNone
または、フォーマット全体を削除:
Range("A1:D10").ClearFormats
12. 条件付き書式との違い
Interior
プロパティは直接色を設定するため、条件付き書式よりも優先されます。ただし、後から条件付き書式を適用すると、そちらが上書きされます。
13. その他の応用例
見出しの強調
With Range("A1:D1").Interior
.Color = RGB(0, 102, 204)
.Pattern = xlSolid
End With
グラデーション風に色を変える(Tint)
Dim i As Integer
For i = 1 To 10
With Cells(i, 1).Interior
.ThemeColor = xlThemeColorAccent1
.TintAndShade = (i - 1) * 0.1
End With
Next
14. エラー処理と安全性
色の設定でエラーが出るケースは少ないですが、パターンが不正だったり、シート保護されている場合はエラーになります。
On Error Resume Next
Range("A1").Interior.Color = RGB(255, 255, 255)
If Err.Number <> 0 Then MsgBox "書式変更に失敗しました"
On Error GoTo 0
15. まとめ
機能 | 説明 |
---|---|
.Color | RGB値で背景色を設定 |
.Pattern | 塗りつぶしパターンの変更 |
.ThemeColor | テーマに基づいた配色指定 |
.TintAndShade | 色の明暗を調整 |
.Remove 系 | .Pattern = xlNone で消去可能 |
使いどころ | 強調表示、エラー通知、グループ分けの視覚化などに活用可能 |