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列挙型の定数
    定数アイコンセット
    xl3Arrows1
    xl3ArrowsGray2
    xl3Flags3
    xl3TrafficLights14
    xl3TrafficLights25
    xl3Signs6
    xl3Symbols7
    xl3Symbols28
    xl4Arrows9
    xl4ArrowsGray10
    xl4RedToBlack11
    xl4CRV12
    xl4TrafficLights13
    xl5Arrows14
    xl5ArrowsGray15
    xl5CRV16
    xl5Quarters17
    xl3Triangles18
    xl3Stars19
    xl5Boxes20

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

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

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

オブジェクト.IconCriteria( Index )

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

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

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

    XlConditionValueTypes列挙型の定数
    定数内容
    xlConditionValueNone‐1条件なし
    xlConditionValueNumber0数値
    xlConditionValueLowestValue1値の最低値
    xlConditionValueHighestValue2値の最大値
    xlConditionValuePercent3パーセンテージ
    xlConditionValueFormula4数式
    xlConditionValuePercentile5百分位
  • Value【バリュー】プロパティ
    しきい値となる値または数式を指定します。
  • Operator【オペレーター】プロパティ
    Value【バリュー】プロパティで指定したしきい値の判断方法をXlFormatConditionOperator 列挙型の定数または値で指定します。

    XlFormatConditionOperator 列挙型の定数
    定数内容
    xlBetween1間(2つの数式が指定されている場合のみ)
    xlNotBetween2次の値の間以外(2つの数式が指定されている場合のみ)
    xlEqual3等しい
    xlNotEqual4等しくない
    xlGreater5次の値より大きい
    xlLess6次の値より小さい
    xlGreaterEqual7以上
    xlLessEqual8以下

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

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標準の順序にします。(既定値)

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

スポンサーリンク

関連記事・広告