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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

罫線の設定(Borders プロパティ)

罫線の設定 罫線を一括(上下左右すべて)で設定するには、Borders プロパテ …

別シートのセルを選択(Goto メソッド / PreviousSelections プロパティ)

Goto メソッド 次の例のように、1 行で、Activate メソッド や S …

StandardWidth プロパティ・StandardHeight プロパティ 例01
セル幅・高さの既定値(StandardHeight プロパティ・StandardWidth プロパティ)

StandardHeight プロパティ・StandardWidth プロパティ …

セルの文字列を取得(Text プロパティ)

Text プロパティ セルに表示されている文字列を取得します。Text プロパテ …

セル・セル範囲をコピーする(Copy メソッド)

Copy メソッド Copy メソッドは、セル範囲をコピーし、指定したセル範囲に …

オートフィルタの設定と解除(AutoFilter メソッド)

AutoFilter メソッド オートフィルタを設定する場合、AutoFilte …

セル・セル範囲を切り取る(Cut メソッド)

Cut メソッド Cut メソッドは、指定したセル範囲を切り取り、引数に指定した …

列名・列番号取得 使用例
列名を取得、列番号を取得(Address プロパティ,Column プロパティ)

列番号を取得する セル番地(「A1」や「B3」)や列名(「A」「B」「C」&#8 …

セルに値を設定する・セルの値を参照する(Value プロパティ)

Value プロパティ Value プロパティは、セルの値を取得したり、値を設定 …

オートフィルタ(日付による抽出)AutoFilter メソッド

日付で、抽出する(AutoFilter メソッド) 【書式】 object.Au …