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

  関連記事

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

UsedRange プロパティ UsedRange プロパティは、指定したワーク …

オートフィルタの状況を確認(AutoFilterMode, FilterMode)

AutoFilterMode プロパティ AutoFilterMode プロパテ …

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

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

対象のセル・セル範囲に数式があるかどうか調べる(HasFormula プロパティ)

HasFormula プロパティ HasFormula プロパティは、対象のセル …

現在選択されているセルを参照(RangeSelection プロパティ)

RangeSelection プロパティ 実際に何が選択されているかにかかわらず …

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

Hyperlink オブジェクト Hyperlinks コレクション のメンバー …

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

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

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

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

オートフィルタ(日付フィルタ)AutoFilter メソッド

日付フィルタを使用してレコードを抽出する Excel 2007 から「日付フィル …

オートフィルタ(抽出件数の取得・結果集計)AutoFilter メソッド

ワークシート関数の Subtotal 関数 の使い方 VBA には、オートフィル …