Excel VBA カラースケールを表示する条件付き書式を設定する

スポンサーリンク
スポンサーリンク

カラースケールを表示する条件付き書式を設定する方法

カラースケールによる条件付き書式は、指定したセル範囲の値を元に
データの大きさによって、2色または3色の色合いのなかで
表示する色合いを変更してデータの大きさの視認性を高めます。
この機能はExcel 2007で追加されました。

AddColorScale【アドカラースケール】メソッド

条件付き書式のオブジェクトの1つである
ColorScale【カラースケール】オブジェクトを取得するには
条件付き書式の集まりを表す
FormatConditions【フォーマットコンディションズ】コレクションの
AddColorScale【アドカラースケール】メソッドを使用します。

FormatConditions.AddColorScale
【フォーマットコンディションズアドカラースケール】メソッドの書式

オブジェクト.FormatConditions.AddColorScale( ColorScaleType )


設定値(引数)の説明

  • オブジェクト(必須)
    カラースケールを作成する値のセルまたはセル範囲を
    Rangeオブジェクトで指定します。
  • ColorScaleType【カラースケールタイプ】(必須)
    カラースケールの色の数を指定します。

    設定値内容
    22色のカラースケール
    33色のカラースケール

Delete【デリイト】メソッド

条件付き書式を削除するには
条件付き書式の集まりを表す
FormatConditions【フォーマットコンディションズ】コレクションの
Delete【デリイト】メソッドを使用します。
1つのセルに条件付き書式を追加すると
既に条件付き書式が設定されている場合は
既にある条件付き書式に加えて
新しい条件付き書式が追加されます。
複数の条件付き書式を設定するのでなければ
指定範囲に条件付き書式が設定されているされていないに
関わらずDelete【デリイト】メソッドを使用して
不要な条件付き書式を削除してから
新しい条件付き書式を追加します。

FormatConditions.Delete【フォーマットコンディションズデリイト】メソッドの書式

オブジェクト.FormatConditions.Delete


  • オブジェクト(必須)
    カラースケールを設定するセルまたはセル範囲を
    Rangeオブジェクトで指定します。

ColorScale【カラースケール】オブジェクトの主なプロパティ

プロパティ内容
ColorScaleCriteria
【カラースケールクライテリア】
カラースケールの集まりの設定値を表す
ColorScaleCriteriaコレクションを取得します。

ColorScaleCriteria【カラースケールクライテリア】プロパティ

カラースケールの集まりの各種設定を表す
ColorScaleCriteria【カラースケールクライテリア】コレクションから
カラースケールの個々の各種設定を表す
ColorScaleCriterion【カラースケールクライテリオン】オブジェクトを取得するには
ColorScale【カラースケール】オブジェクトの
ColorScaleCriteria【カラースケールクライテリア】プロパティを使用します。

ColorScaleCriteria【カラースケールクライテリア】プロパティの書式

オブジェクト.ColorScaleCriteria( Index )


設定値(引数)の設定

  • オブジェクト(必須)
    設定するカラースケールを表す
    ColorScale【カラースケール】オブジェクトを指定します。
  • Index【インデックス】(必須)
    個々のカラースケールをインデックス番号で指定します。
    例えば1つ目のカラースケールの場合「1」を設定します。

ColorScaleCriterion【カラースケールクライテリオン】オブジェクトの主なプロパティ

プロパティ内容
Type【タイプ】カラー スケールの条件付き書式設定の
しきい値を判断する方法を指定します。
Value【バリュー】カラー スケールの条件付き書式の
最小、中間、最高しきい値を取得または設定します。
FormatColor【フォーマットカラー】カラースケールの色の設定を表す
FormatColor【フォーマットカラー】オブジェクトを取得します。

Type【タイプ】プロパティ

カラー スケールの条件付き書式設定のしきい値を
判断する方法を設定するには
ColorScaleCriterion【カラースケールクライテリオン】オブジェクトの
Type【タイプ】プロパティを使用します。

Type【タイプ】プロパティの書式

オブジェクト.Type = 設定値


設定値の説明

  • オブジェクト(必須)
    ColorScaleCriteria【カラースケールクライテリア】プロパティで取得した
    個々のカラースケールの設定を表す
    ColorScaleCriterion【カラースケールクライテリオン】オブジェクトを指定します。
  • 設定値(必須)
    しきい値の種類をXlConditionValueTypes 列挙型の定数で指定します。

    XlConditionValueTypes 列挙型の定数
    定数内容
    xlConditionValueNone‐1条件値なし
    xlConditionValueNumber0数字が使用されます
    xlConditionValueLowestValue1値の一覧の最低値
    xlConditionValueHighestValue2値の一覧の最高値
    xlConditionValuePercent3パーセンテージが使用されます
    xlConditionValueFormula4数式が使用されます
    xlConditionValuePercentile5百分位が使用されます

Value【バリュー】プロパティ

カラー スケールの条件付き書式の
最小、中間、最高しきい値を取得または設定するには
ColorScaleCriterion【カラースケールクライテリオン】オブジェクトの
Value【バリュー】プロパティを使用します。

Value【バリュー】プロパティの書式

オブジェクト.Value = 設定値


  • オブジェクト(必須)
    ColorScaleCriteria【カラースケールクライテリア】プロパティで取得した
    個々のカラースケールの設定を表す
    ColorScaleCriterion【カラースケールクライテリオン】オブジェクトを指定します。
  • 設定値(必須)
    しきいとなる値を設定します。

※このプロパティはしきい値を判断するType【タイプ】プロパティの値が
「数値」「パーセント」「百分位」「数式」の場合に設定できます。


FormatColor【フォーマットカラー】プロパティ

カラースケールの色の設定を表す
FormatColor【フォーマットカラー】オブジェクトを取得するには
ColorScaleCriterion【カラースケールクライテリオン】オブジェクトの
FormatColor【フォーマットカラー】プロパティを使用します。

FormatColor【フォーマットカラー】プロパティの書式

オブジェクト.FormatColor.色を設定するプロパティ = 設定値


設定値の説明

  • オブジェクト(必須)
    ColorScaleCriteria【カラースケールクライテリア】プロパティで取得した
    個々のカラースケールの設定を表す
    ColorScaleCriterion【カラースケールクライテリオン】オブジェクトを指定します。
  • 色を設定するプロパティ = 設定値(必須)
    色を設定するプロパティの
    Color【カラー】、ColorIndex【カラーインデックス】ThemeColor【テーマカラー】
    いずれかのプロパティを使用して色を設定します。


2色のカラースケールを設定するコード例

Sub カラースケール2色()
Range("A1:A10").FormatConditions.Delete
Dim スケール As ColorScale
Set スケール = Range("A1:A10").FormatConditions.AddColorScale(2)
With スケール.ColorScaleCriteria(1)
    .Type = xlConditionValueLowestValue
    .FormatColor.Color = RGB(0, 0, 255)
End With
With スケール.ColorScaleCriteria(2)
    .Type = xlConditionValueHighestValue
    .FormatColor.Color = RGB(255, 0, 0)
End With
End Sub

実行結果

3色のカラースケールを設定するコード例

Sub カラースケール3色()
Range("A1:A10").FormatConditions.Delete
Dim スケール As ColorScale
Set スケール = Range("A1:A10").FormatConditions.AddColorScale(3)
With スケール.ColorScaleCriteria(1)
    .Type = xlConditionValueLowestValue
    .FormatColor.Color = RGB(0, 0, 255)
End With
With スケール.ColorScaleCriteria(2)
    .Type = xlConditionValueNumber
    .Value = 50
    .FormatColor.Color = RGB(0, 255, 0)
End With
With スケール.ColorScaleCriteria(3)
   .Type = xlConditionValueHighestValue
   .FormatColor.Color = RGB(255, 0, 0)
End With
End Sub

実行結果


以上で
カラースケールを表示する条件付き書式を設定する方法に
ついての解説を終了します。
ありがとうございました。

スポンサーリンク
スポンサーリンク

フォローする

スポンサーリンク
スポンサーリンク