ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

グラデーション(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ソース


実行結果

グラデーションの設定 例


 - セルの操作 , , , , , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

ReferenceStyle プロパティ 例01
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 プロパティ 使用例3
入力規則(入力時メッセージの設定)Validation オブジェクト

入力規則の入力時メッセージを表示する Validation.ShowInput …