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

実行結果


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

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク