Excel VBA アイコンセットを表示する条件付き書式を設定する

スポンサーリンク

アイコンセットを表示する条件付き書式を設定する方法

指定したセル範囲の値を元に、そのデータの大きさによって異なるアイコンを表示してデータの視認性を高めるには、条件付き書式のオブジェクトの一つであるアイコンセットの種類やしきい値などの設定を表すIconSetCondition【アイコンセットコンディション】オブジェクトの各プロパティを使用してアイコンを設定します。

AddIconsetCondition
【アドアイコンセットコンディション】メソッド

アイコンセットの種類やしきい値などの設定を表すIconSetCondition【アイコンセットコンディション】オブジェクトを取得するには、条件付き書式の集まりを表すFormatConditions【フォーマットコンディションズ】コレクションのAddIconsetCondition【アドアイコンセットコンディション】メソッドを使用します。

FormatConditions.AddIconsetCondition
【フォーマットコンディションズアドアイコンセットコンディション】メソッドの書式と設定値(引数)の説明

オブジェクト.FormatConditions.AddIconsetCondition

  • オブジェクト(必須)
    アイコンセットを設定する値があるセルまたはセル範囲をRange【レンジ 】オブジェクトで指定します。

Delete【デリイト】メソッド

条件付き書式を削除するには、条件付き書式の集まりを表すFormatConditions【フォーマットコンディションズ】コレクションのDelete【デリイト】メソッドを使用します

1つのセルに条件付き書式を追加すると既に条件付き書式が設定されている場合は、既にある条件付き書式に加えて新しい条件付き書式が追加されます。

複数の条件付き書式を設定するのでなければ指定範囲に条件付き書式が設定されているされていないに関わらずDelete【デリイト】メソッドを使用して不要な条件付き書式を削除してから新しい条件付き書式を追加します。

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

オブジェクト.FormatConditions.Delete

  • オブジェクト(必須)
    アイコンセットを設定するセルまたはセル範囲をRange【レンジ】オブジェクトで指定します。

IconSetCondition【アイコンセットコンディション】オブジェクトの主なプロパティ

プロパティ 内容
IconSet【アイコンセット】 条件付き書式で使用するアイコンセットを指定します。
IconCriteria【アイコンクライテリア】 条件付き書式ルールの条件セットを取得します。
ShowIconOnly【ショウアイコンオンリー】 条件付き書式に対してアイコンのみ表示するか
しないかを設定します。
ReverseOrder【リバースオーダー】 アイコンセットの順番を逆にするか
しないかを設定します。

IconSet【アイコンセット】プロパティ

条件付き書式で使用するアイコン セットの集まりを表すIconSets【アイコンセッツ】コレクションを取得するには、アイコンセットの種類やしきい値などの設定を表すIconSetCondition【アイコンセットコンディション】オブジェクトのIconSet【アイコンセット】プロパティを使用します。

IconSet【アイコンセット】プロパティの書式と設定値

オブジェクト.IconSet = ActiveWorkbook.IconSets( 定数 )

  • オブジェクト(必須)
    AddIconsetCondition【アドアイコンセットコンディション】メソッドで取得したIconSetCondition【アイコンセットコンディション】オブジェクトを指定します。
  • 定数(必須)
    アイコンセットの種類をXlIconSet列挙型の定数または値で指定します。アイコンセットはブックのIconSets【アイコンセッツ】コレクションの1つであるため指定する場合は「ActiveWorkbook.IconSets( 定数 )」のように記述します。アイコンセット内の各アイコンは右からIconCriteria(1)2番目をIconCriteria(2)というように参照して各設定を行います。

    XlIconSet列挙型の定数
    定数 アイコンセット
    xl3Arrows 1
    xl3ArrowsGray 2
    xl3Flags 3
    xl3TrafficLights1 4
    xl3TrafficLights2 5
    xl3Signs 6
    xl3Symbols 7
    xl3Symbols2 8
    xl4Arrows 9
    xl4ArrowsGray 10
    xl4RedToBlack 11
    xl4CRV 12
    xl4TrafficLights 13
    xl5Arrows 14
    xl5ArrowsGray 15
    xl5CRV 16
    xl5Quarters 17
    xl3Triangles 18
    xl3Stars 19
    xl5Boxes 20

IconCriteria【アイコンクライテリア】プロパティ

個々のアイコンの設定の種類を表すIconCriterion【アイコンクライテリオン】オブジェクトを取得するには、アイコンセットの種類やしきい値などの設定を表すIconSetCondition【アイコンセットコンディション】オブジェクトのIconCriteria【アイコンクライテリア】プロパティを使用します。

IconCriteria【アイコンクライテリア】プロパティの書式と設定値の説明

オブジェクト.IconCriteria( Index )

  • オブジェクト(必須)
    AddIconsetCondition【アドアイコンセットコンディション】メソッドで追加したアイコンセットの種類やしきい値などの設定を表す
    IconSetCondition【アイコンセットコンディション】オブジェクトを指定します。
  • Index【インデックス】(必須)
    アイコンのインデックス番号を指定します。アイコンのインデックス番号を指定して、個々のアイコンの設定の種類いを表すIconCriterion【アイコンクライテリオン】オブジェクトを取得してIconCriterion【アイコンクライテリオン】オブジェクトの各プロパティを使用して
    個々のアイコンの設定を行います。

IconCriterion【アイコンクライテリオン】オブジェクトの主なプロパティ一覧

  • Type【タイプ】プロパティ
    アイコンセットのしきい値を判断する方法を指定します。XlConditionValueTypes列挙型の定数または値で指定します。

    XlConditionValueTypes列挙型の定数
    定数 内容
    xlConditionValueNone ‐1 条件なし
    xlConditionValueNumber 0 数値
    xlConditionValueLowestValue 1 値の最低値
    xlConditionValueHighestValue 2 値の最大値
    xlConditionValuePercent 3 パーセンテージ
    xlConditionValueFormula 4 数式
    xlConditionValuePercentile 5 百分位
  • Value【バリュー】プロパティ
    しきい値となる値または数式を指定します。
  • Operator【オペレーター】プロパティ
    Value【バリュー】プロパティで指定したしきい値の判断方法をXlFormatConditionOperator 列挙型の定数または値で指定します。

    XlFormatConditionOperator 列挙型の定数
    定数 内容
    xlBetween 1 間(2つの数式が指定されている場合のみ)
    xlNotBetween 2 次の値の間以外(2つの数式が指定されている場合のみ)
    xlEqual 3 等しい
    xlNotEqual 4 等しくない
    xlGreater 5 次の値より大きい
    xlLess 6 次の値より小さい
    xlGreaterEqual 7 以上
    xlLessEqual 8 以下

達成率に応じて矢印のアイコンを設定するコード例

Sub アイコン()
Range("A2:A6").FormatConditions.Delete
Dim アイコン As IconSetCondition
Set アイコン = Range("A2:A6").FormatConditions.AddIconSetCondition
With アイコン
    .IconSet = ActiveWorkbook.IconSets(xl5Arrows)
 With .IconCriteria(2)
      .Type = xlConditionValueNumber
      .Value = 0.9
      .Operator = xlGreaterEqual
 End With
 With .IconCriteria(3)
      .Type = xlConditionValueNumber
      .Value = 1
      .Operator = xlGreaterEqual
 End With
 With .IconCriteria(4)
      .Type = xlConditionValueNumber
      .Value = 1.01
      .Operator = xlGreaterEqual
 End With
 With .IconCriteria(5)
      .Type = xlConditionValueNumber
      .Value = 1.2
      .Operator = xlGreaterEqual
 End With
End With
End Sub

実行結果


ShowIconOnly【ショウアイコンオンリー】プロパティ

アイコンセットの条件書式を設定したセルで、セル内のデータを非表示にしてアイコンだけを表示するには、IconSetCondition【アイコンセットコンディション】オブジェクトのShowIconOnly【ショウアイコンオンリー】プロパティを使用します。

ShowIconOnlyプロパティの書式と設定値の説明

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

  • オブジェクト(必須)
    AddIconsetCondition【アドアイコンセットコンディション】メソッドで取得した
    IconSetCondition【アイコンセットコンディション】オブジェクトを指定します。
  • 設定値(必須)
    アイコンだけの表示にするかしないかをブール型の値で指定します。

    設定値 内容
    True アイコンだけの表示にします。
    False 両方表示します。(既定値)

ReverseOrder【リバースオーダー】プロパティ

アイコンセットの表示順序を逆順にするかどうかはIconSetCondition【アイコンセットコンディション】オブジェクトのReverseOrder【リバースオーダー】プロパティを使用します。

ReverseOrder【リバースオーダー】の書式と設定値の説明

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

  • オブジェクト(必須)
    AddIconsetCondition【アドアイコンセットコンディション】メソッドで取得した
    IconSetCondition【アイコンセットコンディション】オブジェクトを指定します。
  • 設定値(必須)
    アイコンセットの表示順序をブール型の値で指定します。

    設定値 内容
    True 表示順序を逆にします。
    False 標準の順序にします。(既定値)

以上で、アイコンセットを表示する条件付き書式を設定する方法についての解説を終了します。ありがとうございました。

スポンサーリンク

関連記事・広告