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

  関連記事

ハイパーリンク(Hyperlinks オブジェクト)

Hyperlinks オブジェクト ワークシートまたはセル範囲のワークシートコレ …

セルの値を置換(Replace メソッド)

Replace メソッド 任意のセル範囲内から特定の値を一括して置換します。Fi …

書式で検索(Find メソッド,FindFormat プロパティ)

書式で検索 書式を条件にセルを検索する場合、まず、その書式条件を CellFor …

VBA で、ワークシート関数を使用(WorksheetFunction プロパティ)

VBA で、ワークシと関数を使用 VBA から、ワークシート関数を呼び出す場合、 …

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

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

Height プロパティ Width プロパティ 例
セルの高さ・幅を取得(Height プロパティ・Width プロパティ)

Height プロパティ・Width プロパティ Height プロパティは、指 …

セル内部を参照(Interior プロパティ)

Interior プロパティ Interior プロパティで、セルの内部を参照し …

使用中のセル範囲を取得(CurrentRegion プロパティ)

CurrentRegion プロパティ CurrentRegion プロパティは …

網かけ(パターン)の取得・設定(Pattern プロパティ)

網かけ(パターン)を取得・設定する セルの背景に網かけ(パターン)を設定したり、 …

配列数式を取得または設定する(FormulaArray プロパティ)

FormulaArray プロパティ FormulaArray プロパティは、対 …