Excel VBAの覚え書([セルの書式設定]-[塗りつぶし](Interiorプロパティ)編)

2024-01-07

■RangeオブジェクトのInteriorプロパティ

セルの塗りつぶし処理を行う場合、Interiorオブジェクトのプロパティを使用します。

Interiorオブジェクトは、RangeオブジェクトのInteriorプロパティで取得します。

Interiorプロパティの詳細

Microsoftのサイトで「Interiorプロパティ」を調べると、以下のように記載されています。

  • 指定されたオブジェクトの内部を表すInteriorオブジェクトを返します。

また、オブジェクト・ブラウザでInteriorプロパティを参照すると以下のように定義されており、何も引数を指定することなく、Interiorオブジェクトを取得できることがわかります。

  1. Property Interior As Interior

■Interiorオブジェクトの詳細

Interiorオブジェクトのプロパティは下表の通りです(メソッドはありません)。

(Interiorオブジェクトのプロパティ)

Applicationプロパティ(読み取り専用)
説明 Applicationオブジェクト(Excel)を取得
定義 Property Application() As Application
Colorプロパティ
説明 塗りつぶしの色をRGB値で設定/取得
定義 Property Color() As Variant
ColorIndexプロパティ
説明 塗りつぶしの色をカラー・パレットのインデックスで設定/取得

(※)カラー・パレット番号またはXlColorIndex列挙体を使用可能。
XlColorIndex列挙体は、以下の通り。
xlColorIndexAutomatic(-4105):自動設定
xlColorIndexNone(-4142)       :色なし

定義 Property ColorIndex() As Variant
Creatorプロパティ(読み取り専用)
説明 オブジェクトを作成したアプリケーションの整数値を取得

(※)XlCreator列挙体は、以下の値のみ。
xlCreatorCode(1480803660):Macintosh版Excelでのシグネチャ

定義 Property Creator() As XlCreator
Gradientプロパティ(読み取り専用)
説明 LinearGradientオブジェクトまたはRectangularGradientオブジェクトを取得

(※)PatternプロパティでxlPatternLinearGradient(線形グラデーション)を設定した場合はLinearGradientオブジェクト、xlPatternRectangularGradient(四角形グラデーション)を設定した場合はRectangularGradientオブジェクトが取得可能。
(↑各オブジェクトの詳細は次項参照)

定義 Property Gradient() As Object
InvertIfNegativeプロパティ
説明 項目のパターンを反転するかどうかを設定/取得
定義 Property InvertIfNegative() As Variant
Parentプロパティ(読み取り専用)
説明 指定されたオブジェクトの親オブジェクトを取得
定義 Property Parent() As Object
Patternプロパティ
説明 パターンを設定/取得

(※)XlPattern列挙体は、以下の通り。
xlPatternAutomatic(-4105)              :Excelがパターンを制御
xlPatternChecker(9)                        :チェッカーボード
xlPatternCrissCross(16)                   :十字線
xlPatternDown(-4121)                    :左上から右下に向かっている暗い斜線
xlPatternGray16(17)                       :16%灰色
xlPatternGray25(-4124)                  :25%灰色
xlPatternGray50(-4125)                  :50%灰色
xlPatternGray75(-4126)                  :75%灰色
xlPatternGray8(18)                         :8%灰色
xlPatternGrid(15)                            :グリッド
xlPatternHorizontal(-4128)              :濃い横線
xlPatternLightDown(13)                  :左上から右下に向かっている明るい斜線
xlPatternLightHorizontal(11)            :明るい横線
xlPatternLightUp(14)                       :左下から右上に向かっている明るい斜線
xlPatternLightVertical(12)                :明るい縦線
xlPatternNone(-4142)                     :パターンなし
xlPatternSemiGray75(10)                :75%濃い灰色
xlPatternSolid(1)                            :純色
xlPatternUp(-4162)                        :左下から右上に向かっている暗い斜線
xlPatternVertical(-4166)                 :濃い縦線
xlPatternLinearGradient(4000)        :線形グラデーション
xlPatternRectangularGradient(4001):四角形グラデーション

定義 Property Pattern() As XlPattern
PatternColorプロパティ
説明 パターンの色をRGB関数で設定/取得
定義 Property PatternColor() As Variant
PatternColorIndexプロパティ
説明 パターンの色をカラー・パレットのインデックスで設定/取得

(※)XlColorIndex列挙体は、以下の通り。
xlColorIndexAutomatic(-4105):自動設定
xlColorIndexNone(-4142)       :色なし

定義 Property PatternColorIndex() As XlColorIndex
PatternThemeColorプロパティ
説明 テーマの色パターンを設定/取得
定義 Property PatternThemeColor() As Variant
PatternTintAndShadeプロパティ
説明 濃色と網掛けパターンを設定/取得
定義 Property PatternTintAndShade() As Variant
ThemeColorプロパティ
説明 指定したオブジェクトに適用する配色のテーマの色を設定/取得

(※)XlThemeColor列挙体は、以下の通り。
xlThemeColorAccent1(5)                :Accent1
xlThemeColorAccent2(6)                :Accent2
xlThemeColorAccent3(7)                :Accent3
xlThemeColorAccent4(8)                :Accent4
xlThemeColorAccent5(9)                :Accent5
xlThemeColorAccent6(10)              :Accent6
xlThemeColorDark1(1)                   :Dark1
xlThemeColorDark2(3)                   :Dark2
xlThemeColorFollowedHyperlink(12):表示済みのハイパーリンク
xlThemeColorHyperlink(11)             :ハイパーリンク
xlThemeColorLight1(2)                   :Light1
xlThemeColorLight2(4)                   :Light2

定義 Property ThemeColor() As Variant
TintAndShadeプロパティ
説明 色を明るく、または暗くする単精度浮動小数点型(Single)の値を設定/取得
定義 Property TintAndShade() As Variant

■LinearGradientオブジェクト、RectangularGradientオブジェクトの詳細

InteriorオブジェクトのPatternプロパティで、xlPatternLinearGradient(線形グラデーション)を設定した場合はLinearGradientオブジェクト、xlPatternRectangularGradient(四角形グラデーション)を設定した場合はRectangularGradientオブジェクトが作られ、InteriorオブジェクトのGradientプロパティで取得可能です。

LinearGradientオブジェクトおよびRectangularGradientオブジェクトのプロパティは下表の通りです(メソッドはありません)。

(LinearGradientオブジェクトおよびRectangularGradientオブジェクトのプロパティ)

Applicationプロパティ(読み取り専用)
説明 Applicationオブジェクト(Excel)を取得
定義 Property Application() As Application
ColorStopsプロパティ(読み取り専用)
説明 ColorStopsコレクションを取得

(※)ColorStopsコレクションおよびColorStopオブジェクトは、LinearGradientオブジェクトまたはRectangularGradientオブジェクトの色設定を行うためのオブジェクト。
(↑各オブジェクトの詳細は次項参照)

定義 Property ColorStops As ColorStops
Creatorプロパティ(読み取り専用)
説明 オブジェクトを作成したアプリケーションの整数値を取得

(※)XlCreator列挙体は、以下の値のみ。
xlCreatorCode(1480803660):Macintosh版Excelでのシグネチャ

定義 Property Creator() As XlCreator
Degreeプロパティ(LinearGradientオブジェクトのみ)
説明 線形グラデーションの角度を設定/取得
定義 Property Degree As Double
Parentプロパティ(読み取り専用)
説明 指定されたオブジェクトの親オブジェクトを取得
定義 Property Parent() As Object
RectangleBottomプロパティ(RectangularGradientオブジェクトのみ)
説明 四角形グラデーションの下位置を設定/取得
定義 Property RectangleBottom As Double
RectangleLeftプロパティ(RectangularGradientオブジェクトのみ)
説明 四角形グラデーションの左位置を設定/取得
定義 Property RectangleLeft As Double
RectangleRightプロパティ(RectangularGradientオブジェクトのみ)
説明 四角形グラデーションの右位置を設定/取得
定義 Property RectangleRight As Double
RectangleTopプロパティ(RectangularGradientオブジェクトのみ)
説明 四角形グラデーションの上位置を設定/取得
定義 Property RectangleTop As Double

■ColorStopsコレクション、ColorStopオブジェクトの詳細

ColorStopsコレクションおよびColorStopオブジェクトは、線形グラデーションと四角形グラデーションの色設定を行うためのオブジェクトで、LinearGradientオブジェクトまたはRectangularGradientオブジェクトのColorStopsプロパティで取得可能です。

ColorStopsコレクション、ColorStopオブジェクトのメソッドおよびプロパティは下表の通りです。

(ColorStopsコレクション、ColorStopオブジェクトのメソッドおよびプロパティ)

Addメソッド(ColorStopsコレクションのみ)
説明 ColorStopsコレクションにColorStopオブジェクトを追加する
定義 Function Add(Position As Double) As ColorStop
Applicationプロパティ(読み取り専用)
説明 Applicationオブジェクト(Excel)を取得
定義 Property Application() As Application
Clearプロパティ(ColorStopsコレクションのみ)
説明 ColorStopsコレクションをクリアする
定義 Sub Clear()
Colorプロパティ(ColorStopオブジェクトのみ)
説明 ColorStopの色を設定/取得
定義 Property Color As Variant
Countプロパティ(読み取り専用)(ColorStopsコレクションのみ)
説明 ColorStopオブジェクトの数を取得
定義 Property Count As Long
Creatorプロパティ(読み取り専用)
説明 オブジェクトを作成したアプリケーションの整数値を取得

(※)XlCreator列挙体は、以下の値のみ。
xlCreatorCode(1480803660):Macintosh版Excelでのシグネチャ

定義 Property Creator() As XlCreator
Deleteメソッド(ColorStopオブジェクトのみ)
説明 ColorStopsコレクションからColorStopオブジェクトを削除する
定義 Sub Delete()
Itemメソッド(ColorStopsコレクションのみ)
説明 ColorStopsコレクションから指定したColorStopオブジェクトを取り出す
定義 Function Item(Index) As ColorStop
Parentプロパティ(読み取り専用)
説明 指定されたオブジェクトの親オブジェクトを取得
定義 Property Parent() As Object
Positionプロパティ(ColorStopオブジェクトのみ)
説明 ColorStopの位置を設定/取得
定義 Property Position As Double
ThemeColorプロパティ(ColorStopオブジェクトのみ)
説明 ColorStopオブジェクトのテーマの色を設定/取得
定義 Property ThemeColor As Long
TintAndShadeプロパティ(ColorStopオブジェクトのみ)
説明 ColorStopオブジェクトの濃淡や網掛けの値を設定/取得
定義 Property TintAndShade As Variant

■Interiorオブジェクトの使用方法

セルを塗りつぶす

InteriorオブジェクトのColorプロパティにRGB関数で値を設定することにより、セルを塗りつぶすことができます。

  1. sht.UsedRange.Interior.Color = RGB(128, 128, 128)

カラー・パレットに定義されている色であれば、InteriorオブジェクトのColorIndexプロパティでも設定可能です。

  1. sht.UsedRange.Interior.ColorIndex = 16

セルに網掛け(パターン)を設定する

InteriorオブジェクトのPatternプロパティにXlPattern列挙体を設定することにより、セルに網掛け(パターン)を設定することができます。

  1. sht.UsedRange.Interior.Pattern = xlPatternGrid

InteriorオブジェクトのPatternColorプロパティを併せて使用すれば、色を設定することができます。

  1. sht.UsedRange.Interior.PatternColor = RGB(128, 128, 128)

カラー・パレットに定義されている色であれば、InteriorオブジェクトのPatternColorIndexプロパティでも設定可能です。

  1. sht.UsedRange.Interior.PatternColorIndex = 16

セルに塗りつぶし効果(線形グラデーション)を設定する

InteriorオブジェクトのPatternプロパティにxlPatternLinearGradientを設定することにより、セルに線形グラデーションを設定することができます。

  1. sht.UsedRange.Interior.Pattern = xlPatternLinearGradient

セルに塗りつぶし効果(四角形グラデーション)を設定する

InteriorオブジェクトのPatternプロパティにxlPatternRectangularGradientを設定することにより、セルに四角形グラデーションを設定することができます。

  1. sht.UsedRange.Interior.Pattern = xlPatternRectangularGradient

 

国本温子(著),緑川吉行(著),できるシリーズ編集部(著)
出版社:インプレス
発売日:2022/3/23
単行本(ソフトカバー):A5判/912ページ

大村あつし(著),古川順平(著)
出版社:技術評論社
発売日:2021/1/9
単行本(ソフトカバー):A5判/800ページ

高橋宣成(著)
出版社:技術評論社
発売日:2019/11/25
単行本(ソフトカバー):B5変形判/576ページ

覚え書

Posted by hides