【エクセルVBA】セルの背景色とパターンを操る
セルの 背景色 と パターン を自在に操るテクニックを紹介します
前提知識として、
VBAにはInterior
というオブジェクトがあり、セルの背景色やパターン(縞模様、格子模様など)の視覚的属性を制御することができます。
Interior
オブジェクトの主なプロパティとメソッドを解説し、どのようにカスタマイズできるかを紹介します
Interior
オブジェクトの主なプロパティ
セルの内部の色(背景)を設定するために、以下のようなプロパティがあります
覚える必要はありません。理解する必要もありません。
へぇ~って感じで目を通してください
Color
: RGB色またはExcelの色コードでセルの背景色を設定ColorIndex
: Excelの既定の色インデックスで背景色を設定ThemeColor
: セルの背景色をOfficeのテーマ色で設定TintAndShade
: 色の濃淡を調整します(正の値で明るく、負の値で暗く)Pattern
: セルの背景パターン(例:縞模様、格子模様など)を設定PatternColor
: パターンの色をRGB色またはExcelの色コードで設定PatternColorIndex
: パターンの色をExcelの既定の色インデックスで設定PatternTintAndShade
: パターンの色の濃淡を設定
プロパティの具体例とサンプル
前で紹介した各プロパティについて解説します
背景色をRGBで設定
具体例: “A1″セルの背景色を赤に設定します
解説: RGB
関数を用いて具体的な色を指定します
Sub SetBackgroundColor()
Range("A1").Interior.Color = RGB(255, 0, 0) ' 赤色
End Sub
RGBカラー 一覧 へ ジャンプ
背景色をインデックス番号で設定
具体例: “A1″セルの背景色をExcelの既定色(例えば、赤)に設定します
解説: ColorIndex
はExcelが提供する色のインデックス番号を指定することで色を設定します
例えば、1は黒色に対応します
Sub SetBackgroundByColorIndex()
Range("A1").Interior.ColorIndex = 1 ' 黒
End Sub
カラーインデックス 一覧 へ ジャンプ
背景色をOfficeのテーマ色で設定
具体例: “A1″セルの背景色をOfficeのテーマ色で設定します
解説: ThemeColor
プロパティを使って、Officeのテーマに基づいた色をセルの背景色として設定します
Sub SetThemeColor()
Range("A1").Interior.ThemeColor = xlThemeColorAccent1
End Sub
背景色の濃淡を調整
具体例: “A1″セルの背景色の濃淡を調整します
解説: TintAndShade
プロパティは指定された色をより明るく(正の値)またはより暗く(負の値)します
値の範囲は-1(最も暗い)から1(最も明るい)です
Sub SetTintAndShade()
With Range("A1").Interior
.Color = RGB(255, 0, 0)
.TintAndShade = -0.5
End With
End Sub
背景パターンを設定(縞模様、格子模様など)
具体例: “A1″セルに格子模様のパターンを設定します
解説: Pattern
プロパティでパターンの種類を設定します
Sub SetCellPattern()
With Range("A1").Interior
.Pattern = xlChecker
End With
End Sub
背景パターン 一覧 へ ジャンプ
パターン色をRGBで設定
具体例: “A1″セルのパターン色を青に設定します
解説: PatternColor
プロパティを使ってパターン色を設定します
Sub SetPatternColor()
With Range("A1").Interior
.Pattern = xlChecker
.PatternColor = RGB(0, 0, 255) 'パターン色を青
.Color = RGB(255, 255, 255) '背景色を白
End With
End Sub
背景パターン 一覧 へ ジャンプ
RGBカラー 一覧 へ ジャンプ
パターン色をインデックス番号で設定
具体例: “A1″セルのパターン色をExcelの既定色に設定します
解説: PatternColorIndex
はパターンの色をExcelの色インデックスで設定します
Sub SetPatternColorByIndex()
With Range("A1").Interior
.Pattern = xlChecker
.PatternColorIndex = 5 'パターン色を青
.Color = RGB(255, 255, 255) '背景色を白
End With
End Sub
背景パターン 一覧 へ ジャンプ
カラーインデックス 一覧 へ ジャンプ
RGBカラー 一覧 へ ジャンプ
パターン色の濃淡を設定
具体例: “A1″セルのパターンの色の濃淡を調整します
解説: PatternTintAndShade
プロパティはパターンの色をより明るく(正の値)またはより暗く(負の値)調整します
Sub SetPatternTintAndShade()
With Range("A1").Interior
.Pattern = xlChecker
.PatternColorIndex = 5 'パターン色を青
.PatternTintAndShade = 0.8
.Color = RGB(255, 255, 255) '背景色を白
End With
End Sub
RGBカラーコード一覧表
エクセルのカラーパレットを表にまとめます
標準の色
色 | RGB |
---|---|
■ | RGB(192, 0, 0) |
■ | RGB(255, 0, 0) |
■ | RGB(255, 192, 0) |
■ | RGB(255, 255, 0) |
■ | RGB(146, 208, 80) |
■ | RGB(0, 176, 80) |
■ | RGB(0, 176, 240) |
■ | RGB(0, 112, 192) |
■ | RGB(0, 32, 96) |
■ | RGB(112, 48, 160) |
テーマの色
色 | RGB |
---|---|
■ | RGB(255, 255, 255) |
■ | RGB(242, 242, 242) |
■ | RGB(216, 216, 216) |
■ | RGB(191, 191, 191) |
■ | RGB(165, 165, 165) |
■ | RGB(127, 127, 127) |
色 | RGB |
---|---|
■ | RGB(0, 0, 0) |
■ | RGB(127, 127, 127) |
■ | RGB(89, 89, 89) |
■ | RGB(63, 63 63) |
■ | RGB(38, 38, 38) |
■ | RGB(12, 12, 12) |
色 | RGB |
---|---|
■ | RGB(232, 232, 232) |
■ | RGB(208, 208, 208) |
■ | RGB(174, 174, 174) |
■ | RGB(116, 116, 116) |
■ | RGB(58, 58, 58) |
■ | RGB(23, 23, 23) |
色 | RGB |
---|---|
■ | RGB(14, 40, 65) |
■ | RGB(219, 233, 247) |
■ | RGB(166, 201, 235) |
■ | RGB(77, 148, 216) |
■ | RGB(33, 94, 153) |
■ | RGB(21, 61, 100) |
色 | RGB |
---|---|
■ | RGB(21, 96, 130) |
■ | RGB(193, 228, 245) |
■ | RGB(131, 202, 235) |
■ | RGB(69, 176, 225) |
■ | RGB(15, 72, 97) |
■ | RGB(10, 48, 65) |
色 | RGB |
---|---|
■ | RGB(233, 113, 50) |
■ | RGB(250, 226, 214) |
■ | RGB(246, 198, 172) |
■ | RGB(241, 169, 132) |
■ | RGB(191, 79, 20) |
■ | RGB(127, 52, 13) |
色 | RGB |
---|---|
■ | RGB(25, 107, 36) |
■ | RGB(193, 240, 200) |
■ | RGB(132, 226, 145) |
■ | RGB(71, 212, 90) |
■ | RGB(18, 80, 27) |
■ | RGB(12, 53, 18) |
色 | RGB |
---|---|
■ | RGB(15, 158, 213) |
■ | RGB(202, 237, 251) |
■ | RGB(149, 220, 247) |
■ | RGB(96, 203, 243) |
■ | RGB(11, 118, 159) |
■ | RGB(7, 79, 106) |
色 | RGB |
---|---|
■ | RGB(160, 43, 147) |
■ | RGB(241, 206, 238) |
■ | RGB(228, 158, 221) |
■ | RGB(215, 109, 204) |
■ | RGB(120, 32, 110) |
■ | RGB(80, 21, 73) |
色 | RGB |
---|---|
■ | RGB(78, 167, 46) |
■ | RGB(217, 242, 208) |
■ | RGB(179, 229, 161) |
■ | RGB(142, 216, 115) |
■ | RGB(58, 125, 34) |
■ | RGB(38, 83, 22) |
カラーインデックス一覧表
カラーインデックス対応表と、エクセルに再現したサンプルを紹介します
カラーインデックス一覧表
すべての カラーインデックス です
ColorIndex | 色 |
---|---|
1 | 黒 |
2 | 白 |
3 | 赤 |
4 | 緑 |
5 | 青 |
6 | 黄色 |
7 | マゼンタ |
8 | シアン |
9 | 暗い赤 |
10 | 暗い緑 |
11 | 暗い青 |
12 | 暗い黄色 |
13 | 暗いマゼンタ |
14 | 暗いシアン |
15 | グレー |
16 | 濃いグレー |
17 | ペールラベンダー |
18 | 暗い茶色 |
19 | 水色 |
20 | ピンク |
21 | 金色 |
22 | 青緑 |
23 | 青紫 |
24 | 茶褐色 |
25 | ライムグリーン |
26 | ブルーグリーン |
27 | ライトブルー |
28 | ライトグリーン |
29 | ライトイエロー |
30 | ライトターコイズ |
31 | ペールブルー |
32 | ローズ |
33 | タン |
34 | ライトイエロー |
35 | ライトゴールド |
36 | 明るい青緑 |
37 | 淡い紫 |
38 | 明るい茶色 |
39 | 明るいオレンジ |
40 | 明るいターコイズ |
41 | 明るい緑 |
42 | 明るい黄緑 |
43 | ペールライム |
44 | ペールオレンジ |
45 | ペールピンク |
46 | ペールゴールド |
47 | 明るいピンク |
48 | プラム |
49 | イエローオレンジ |
50 | 明るいゴールド |
51 | 明るいオリーブ |
52 | 明るいブラウン |
53 | 明るいプラム |
54 | 明るいオリーブグリーン |
55 | 明るいアクア |
56 | 明るいライム |
セルに再現するとこんな感じ
カラーサンプルです
背景パターン一覧表
背景パターン対応表と、エクセルに再現した見本を紹介します
パターン一覧表
パターン一覧表です
PatternIndex | パターンの名前 | 日本語名 |
---|---|---|
1 | xlPatternAutomatic | 自動 |
2 | xlPatternChecker | チェッカー |
3 | xlPatternCrissCross | クリスクロス |
4 | xlPatternDown | 下斜線 |
5 | xlPatternGray16 | グレー16% |
6 | xlPatternGray25 | グレー25% |
7 | xlPatternGray50 | グレー50% |
8 | xlPatternGray75 | グレー75% |
9 | xlPatternGray8 | グレー8% |
10 | xlPatternGrid | グリッド |
11 | xlPatternHorizontal | 横線 |
12 | xlPatternLightDown | 薄い下斜線 |
13 | xlPatternLightHorizontal | 薄い横線 |
14 | xlPatternLightUp | 薄い上斜線 |
15 | xlPatternLightVertical | 薄い縦線 |
16 | xlPatternNone | なし |
17 | xlPatternSemiGray75 | セミグレー75% |
18 | xlPatternSolid | 単色 |
19 | xlPatternUp | 上斜線 |
20 | xlPatternVertical | 縦線 |