グラデーション(Pattern プロパティ・Gradient プロパティ)
2015/08/26
セルの背景ににグラデーションを設定する
Pattern プロパティを使用するとセルの背景にグラデーション(線形グラデーションまたは、四角形グラデーション)を設定することができます。
グラデーションを構成する色の設定には、ColorStops オブジェクトを使用します。
線形グラデーションで、色の角度を指定するには、Gradient オブジェクトの Degree プロパティを使用します。四角形グラデーションで、グラデーションの上下左右それぞれの位置を指定するには、Gradient オブジェクトの RectangleLeft・RectangleRight・RectangleTop・RectangleBottom プロパティを使用します。
Pattern プロパティ
object.Pattern = { xlPatternLinearGradient | xlPatternRectangularGradient }
引数・戻り値
- object ・・・ 対象となる Interior オブジェクトを指定します。
- xlPatternLinearGradient(4000) ・・・ 線形グラデーションを指定します。
- xlPatternRectangularGradient(4001) ・・・ 四角形グラデーションを指定します。
グラデーションを設定できるのは、Excel 2007 以降です。
Gradient オブジェクト
Interior.Gradient.Degree = angle
Interior.Gradient.RectangleLeft = d_left
Interior.Gradient.RectangleRight = d_right
Interior.Gradient.RectangleTop = d_top
Interior.Gradient.RectangleBottom = d_bottom
Gradient オブジェクトの説明
Degree プロパティ
線形グラデーションで、色が変化する角度を指定するために使用します。
RectangleLeft プロパティ 他
四角形グラデーションで、上下左右の位置を指定するために使用します。
引数・戻り値
- angle ・・・ 色が変化する方向の角度(0 ~ 360)を指定します。
設定する角度 内容 0 1 番目の色が左
90 1 番目の色が上
180 1 番目の色が右
360 1 番目の色が下 - d_left ・・・ 四角形のグラデーションを設定した時の左位置( 0 ~ 1 )を指定します。
- d_right ・・・ 四角形のグラデーションを設定した時の右位置( 0 ~ 1 )を指定します。
- d_top ・・・ 四角形のグラデーションを設定した時の上位置( 0 ~ 1 )を指定します。
- d_bottom ・・・ 四角形のグラデーションを設定した時の下位置( 0 ~ 1 )を指定します。
「1 番目の色」とは、ColorStops オブジェクトで最初に追加する色のことです。
(例)
Range(“A1”).Interior.Gradient.Degree = 90
‘↓ここで追加した色が上になる
Range(“A1”).Interior.Gradient.ColorStops.Add(0).Color = RGB(255,0,0)
Range(“A1”).Interior.Gradient.ColorStops.Add(1).Color = RGB(0,255,0)
ColorsStops オブジェクト(Count プロパティ)
object.Interior.Gradient.ColorStops.Count
プロパティの説明
作業中のセルにおける ColorStops の数(グラデーションを構成している色の数)を取得します。Count プロパティは、取得のみで、設定することはできません。
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
ColorsStops オブジェクト(メソッド)
object.Interior.Gradient.ColorStops.Add ( position ).Color = rgb
object.Interior.Gradient.ColorStops.Add ( position ).ThemeColor = index
object.Interior.Gradient.ColorStops.Clear
メソッドの説明
Add メソッド
ColorStops を追加します。Color プロパティやThemeColor プロパティ・TintAndShade プロパティで、グラデーションの色を指定します。ただし、ColorIndex プロパティは使用できません。
Clear メソッド
現在の ColorStops をクリアします。つまり、グラデーションを構成している色をすべて削除します。
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- position ・・・ グラデーションを構成している色を追加する位置を倍精度浮動小数点型(Double)で指定します。( 0:最初の色、1:最後の色、3色以上を指定する場合は、0 より大きく 1 未満の値を指定します。
- rgb ・・・ RGB 値を指定します。RGB 関数を使用することも可能です( 色の設定 を参照 )。
- index ・・・ テーマカラーの基本色を表すMsoThemeColorSchemeindex 列挙型の定数または値(1 ~ 12)を指定します。( ThemeColor プロパティ・TintAndShade プロパティ を参照 )
グラデーションの設定 使用例
サンプルVBAソース
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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 |
Sub Sample_Gradient() Worksheets("Sheet3").Activate With Range("C2").Interior '線形グラデーション .Pattern = xlPatternLinearGradient '色が変化する方向の角度を90度に設定 .Gradient.Degree = 90 '色情報をクリア .Gradient.ColorStops.Clear 'グラデーションで使用する色を設定 .Gradient.ColorStops.Add(0).Color = rgbDarkBlue .Gradient.ColorStops.Add(1).Color = rgbAzure End With With Range("E2").Interior '線形グラデーション .Pattern = xlPatternLinearGradient '色が変化する方向の角度を30度に設定 .Gradient.Degree = 30 '色情報をクリア .Gradient.ColorStops.Clear 'グラデーションで使用する色を設定 .Gradient.ColorStops.Add(0).Color = rgbRed .Gradient.ColorStops.Add(0.3).Color = rgbOrange .Gradient.ColorStops.Add(0.8).Color = rgbYellow .Gradient.ColorStops.Add(1).Color = rgbGreen End With With Range("C5").Interior '四角形グラデーション .Pattern = xlPatternRectangularGradient '位置を設定 .Gradient.RectangleLeft = 0.5 .Gradient.RectangleRight = 0.5 .Gradient.RectangleTop = 0.5 .Gradient.RectangleBottom = 0.5 '色情報をクリア .Gradient.ColorStops.Clear 'グラデーションで使用する色を設定 .Gradient.ColorStops.Add(0).Color = RGB(255, 0, 0) .Gradient.ColorStops.Add(0.5).Color = RGB(0, 0, 255) .Gradient.ColorStops.Add(1).Color = RGB(255, 255, 0) End With With Range("E5").Interior '四角形グラデーション .Pattern = xlPatternRectangularGradient '位置を設定 .Gradient.RectangleLeft = 0 .Gradient.RectangleRight = 1 .Gradient.RectangleTop = 0.5 .Gradient.RectangleBottom = 0.5 '色情報をクリア .Gradient.ColorStops.Clear 'グラデーションで使用する色を設定(テーマカラー使用) .Gradient.ColorStops.Add(0).ThemeColor = msoThemeAccent2 .Gradient.ColorStops.Add(0).TintAndShade = 0.4 .Gradient.ColorStops.Add(1).ThemeColor = msoThemeAccent6 .Gradient.ColorStops.Add(1).TintAndShade = -0.6 End With End Sub |
実行結果
関連記事
-
A1参照形式、R1C1参照形式の設定・取得(ReferenceStyle プロパティ)
ReferenceStyle プロパティ ReferenceStyle プロパテ …
-
オートフィルタ(日付による抽出)AutoFilter メソッド
日付で、抽出する(AutoFilter メソッド) 【書式】 object.Au …
-
ハイパーリンク(Hyperlinks オブジェクト)
Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …
-
配列数式を取得または設定する(FormulaArray プロパティ)
FormulaArray プロパティ FormulaArray プロパティは、対 …
-
文字列をセル幅で折り返す(WrapText プロパティ)
WrapText プロパティ WrapText プロパティは、セルに表示されてい …
-
セルに値を設定する・セルの値を参照する(Value2 プロパティ)
Value2 プロパティ Value プロパティとの違いは、Value2 プロパ …
-
ハイパーリンク(Hyperlink オブジェクトのメソッド)
Hyperlink オブジェクトのメソッド Hyperlinks コレクション …
-
対象のセルを直接参照しているセル全てを取得(DirectDependents プロパティ)
DirectDependents プロパティ DirectDependents …
-
入力規則(他セルや数式を利用して許容値を設定)Validation オブジェクト
他のセルや数式を利用して許容値を設定する 入力規則(その5) での設定を、マクロ …
-
入力規則(入力時メッセージの設定)Validation オブジェクト
入力規則の入力時メッセージを表示する Validation.ShowInput …