Excel VBA セルにグラディーションを設定する

スポンサーリンク

セルにグラディーションを設定する方法

セルにグラディーションを設定するには、Range【レンジ】オブジェクトの下位オブジェクトでオブジェクトの塗りつぶし属性を表すInterior【インテリア】オブジェクトのセルの網かけの設定をするPattern【パターン】プロパティでXlPatternLinearGradient【ライナーグラディエント】を設定するとInterior【インテリア】オブジェクトのGradient【グラディエント】プロパティで線のグラディーションを表すLinearGradient【ライナーグラディエント】オブジェクトを参照でき、同様に
xlPatternRectangularGradient【レクテングラーグラディエント】を設定すると長方形のグラディーションを表すRectangularGradient【レクタングラーグラディエント】オブジェクトを参照できます。

グラディーションの色や角度などの設定をするときは、これらのオブジェクトの各種プロパティを使用します。

グラディーションを設定するPatternプロパティの書式

【線のグラディーションLinearGradientオブジェクトの取得】
Rangeオブジェクト.Interior.Pattern = XlPatternLinearGradient
【長方形のグラディーションRectangularGradientオブジェクトの取得】
Rangeオブジェクト.Interior.Pattern = xlPatternRectangularGradient


※Range【レンジ】オブジェクトには、グラディーションを設定するセルまたは、セル範囲を指定します。


LinearGradientオブジェクトの主なプロパティ一覧

プロパティ 内容
ColorStops
【カラーストップス】
各種メソッドで色をクリアしたり
色の開始位置や色を設定します。
Degree
【デグリー】
線のグラディーションの角度を
取得または、設定します。

RectangularGradientオブジェクトの主なプロパティ一覧

プロパティ 内容
ColorStops
【カラーストップス】
各種メソッドで色をクリアしたり
色の開始位置や色を設定します。
RectangleLeft
【レクタングルレフト】
グラディーションの左の収束先となる
ポイントを取得または、設定します。
RectangleRight
【レクタングルライト】
グラディーションの右の収束先となる
ポイントを取得または、設定します。
RectangleTop
【レクタングルトップ】
グラディーションの上の収束先となる
ポイントを取得または、設定します。
RectangleBottom
【レクタングルボトム】
グラディーションの下の収束先となる
ポイントを取得または、設定します。

ColorStops.Clear【カラーストップスクリア】メソッド

設定されていた色設定をリセットするには、ColorStops【カラーストップス】コレクションの
Clear【クリア】メソッドを使用します。色設定をする前に指定します。

ColorStops.Clear【カラーストップスクリア】メソッドの書式と設定値

オブジェクト.ColorStops.Clear

  • オブジェクト(必須)
    線のグラディーションを表すLinearGradient【ライナーグラディエント】オブジェクト、または長方形のグラディーションを表すRectangularGradient【レクタングラーグラディエント】オブジェクトを指定します。

ColorStops.Add【カラーストップスアド】 メソッド

グラディーションの開始位置と色、終了位置と色の2色を追加します。

ColorStops.Add【カラーストップスアド】 メソッドの書式と設定値(引数)の説明

オブジェクト.ColorStops.Add(開始位置).Color = RGB値
オブジェクト.ColorStops.Add(終了位置).Color = RGB値

  • オブジェクト(必須)
    線のグラディーションを表すLinearGradient【ライナーグラディエント】オブジェクト、または長方形のグラディーションを表すRectangularGradient【レクタングラーグラディエント】オブジェクトを指定します。
  • 開始位置 終了位置(必須)
    0(開始位置)~1(終了位置)を倍精度浮動小数点型 (Double)の値で指定します。0.5を指定した場合は中間点に色を追加できます。
  • RGB値(必須)
    RGB関数を使用して開始位置と終了位置の色を設定します。1色のグラディーションにする場合は開始位置または終了位置のRGB値をRGB(255,255,255)の白に指定します。

Degree【デグリー】プロパティ

線のグラディーションの角度を設定するにはLinearGradient【ライナーグラディエント】オブジェクトのDegree【デグリー】プロパティを使用します。

Degree【デグリー】プロパティの書式と設定値の説明

オブジェクト.Degree = 角度

  • オブジェクト(必須)
    線のグラディーションを表すLinearGradientオブジェクトを指定します。
  • 角度(必須)
    線のグラディーションの角度を0度~360度の範囲で指定します。


RectangleLeft【レクタングルレフト】
RectangleRight【レクタングルライト】
RectangleTop【レクタングルトップ】
RectangleBottom【レクタングルボトム】プロパティ

長方形のグラディーションの各辺の収束位置を指定するには各プロパティを使用します。
各プロパティには基本的には連動した値を指定します。

書式と設定値の説明

【左辺の収束位置】
オブジェクト.RectangleLeft = 設定値
【右辺の収束位置】
オブジェクト.RectangleRight = 設定値
【上辺の収束位置】
オブジェクト.RectangleTop = 設定値
【下辺の収束位置】
オブジェクト.RectangleBottom = 設定値

  • オブジェクト(必須)
    長方形のグラディーションを表すRectangularGradient【レクタングラーグラディエント】オブジェクトを指定します。
  • 設定値(必須)
    0(開始位置)~1(終了位置)を倍精度浮動小数点型 (Double)の値で指定します。


線グラディーションのコード例

Sub 線グラディーション()
With Range("B2:C4").Interior
.Pattern = xlPatternLinearGradient
.Gradient.ColorStops.Clear
.Gradient.Degree = 90
.Gradient.ColorStops.Add(0).Color = RGB(255, 0, 0)
.Gradient.ColorStops.Add(1).Color = RGB(0, 0, 255)
End With
End Sub

実行結果


長方形グラディーションのコード例

Sub 長方形グラディーション()
With Range("B2:C4").Interior
.Pattern = xlPatternRectangularGradient
.Gradient.ColorStops.Clear
.Gradient.RectangleLeft = 0.5
.Gradient.RectangleRight = 0.5
.Gradient.RectangleTop = 0.5
.Gradient.RectangleBottom = 0.5
.Gradient.ColorStops.Add(0).Color = RGB(255, 0, 0)
.Gradient.ColorStops.Add(1).Color = RGB(0, 0, 255)
End With
End Sub

実行結果


以上で、セルにグラディーションを設定する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告