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

スポンサーリンク

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

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

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

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

FormatConditions.AddColorScale
【フォーマットコンディションズアドカラースケール】メソッドの書式と設定値(引数)の説明

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

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

    設定値 内容
    2 2色のカラースケール
    3 3色のカラースケール

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 条件値なし
    xlConditionValueNumber 0 数字が使用されます
    xlConditionValueLowestValue 1 値の一覧の最低値
    xlConditionValueHighestValue 2 値の一覧の最高値
    xlConditionValuePercent 3 パーセンテージが使用されます
    xlConditionValueFormula 4 数式が使用されます
    xlConditionValuePercentile 5 百分位が使用されます

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

実行結果


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

スポンサーリンク

関連記事・広告