Range.FormatConditions.AddIconsetConditionメソッド
指定セル範囲の値の大きさによって異なるアイコンを表示する条件付き書式を設定する場合に、Range.FormatConditions.AddIconsetConditionメソッドを利用します。
AddIconsetConditionメソッドを実行すると戻り値としてIconSetConditionオブジェクトが返されます。
IconSetConditionオブジェクトの各プロパティを設定することで条件に一致した場合にセルに装飾する設定を行います。
なお、AddIconsetConditionメソッドの代わりにRange.FormatConditions.Addメソッドの引数TypeでxlIconSetsを指定した場合でも同じようにアイコンセット表示のルールの設定を行うことが可能です。
構文
1 |
Function Range.FormatConditions.AddIconsetCondition() As IconSetCondition |
Range.FormatConditions | 親オブジェクトとして指定します。 |
IconSetCondition | 戻り値としてIconSetConditionオブジェクトを返します。 |
IconSetConditionオブジェクトのプロパティ
AddIconsetConditionメソッドで返されるIconSetConditionオブジェクトの各種プロパティを利用して書式を設定します。
Application | IconSetConditionオブジェクトを作成したApplicationオブジェクトを取得します。値の取得のみ可能です。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
AppliesTo | 書式ルールが適用されているセル範囲を表す Range オブジェクトを返します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Creator | IconSetConditionオブジェクトを作成したアプリケーションを 32 ビットの整数値で返します。値の取得のみ可能です。長整数型 (Long) の値を使用します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Formula | アイコンセットが適用される値を決定する数式を表す文字列型 (String) の値を設定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IconCriteria | アイコンセットの条件付き書式ルールのアイコンの設定を保持するIconCriterionオブジェクトのコレクションであるIconCriteriaコレクションを返します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
IconSet | 条件付き書式ルールで使用するアイコンセットを割り当てます。割り当てるアイコンセットは以下のXlIconSet列挙型から選択します。
実際のアイコンセットは以下になります。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Parent | IconSetConditionオブジェクトの親オブジェクトを返します。値の取得のみ可能です。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PercentileValues | アイコンセットの条件付き書式のしきい値が百分位を使用する場合はTrue、そうでない場合はFalseを取得または設定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Priority | 条件付き書式ルールの優先度の値を取得、または設定します。優先度は、ワークシート内に複数の条件付き書式ルールが存在する場合、その評価の順序を決定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
PTCondition | 条件付き書式がピボットテーブルに適用されるかどうかを表すブール型 (Boolean) の値を返します。値の取得のみ可能です。Trueが適用され、Falseまたは省略時は適用されません。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ReverseOrder | アイコンセットのアイコンの順がTrueの場合は正順、Falseの場合は逆順になっていることを取得または設定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ScopeType | 条件付き書式がピボットテーブルに適用される場合、その適用範囲を表す XlPivotConditionScope 列挙型の定数を取得または設定します。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ShowIconOnly | アイコンのみを表示する場合はTrue、値とアイコンを表示する場合はFalseを設定します。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
StopIfTrue | 現在のルールが True に評価された場合、そのルール以降より下位優先度のルールを設定するかどうかをBoolean型で指定します。Trueの場合は下位優先度のルールは設定されません。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Type | 条件付き書式の種類を表すXlFormatConditionType列挙型の定数xlIconSets(アイコンセット。値=6)を返します。値の取得のみ可能です。 |
サンプルコード
A列で値を設定した場合にアイコンセットを表示するサンプルコードです。色違いの3つの矢印を表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Sub AddIconsetConditionTest() Dim r As Range Dim ic As IconSetCondition '// A列を指定 Set r = Range("A:A") Set ic = r.FormatConditions.AddIconSetCondition ic.IconSet = ActiveWorkbook.IconSets(xl3Arrows) With ic.IconCriteria(2) .Type = xlConditionValueNumber .Value = 5 .Operator = xlGreaterEqual End With With ic.IconCriteria(3) .Type = xlConditionValueNumber .Value = 10 .Operator = xlGreaterEqual End With End Sub |
コード説明
処理自体はコードのコメントの通りなのですが、注意点として書式の設定はIconSetConditionオブジェクトに対して行う必要があるため、IconSetConditionオブジェクトを返すAddIconSetConditionメソッドが終わったあとにしなければなりません。
また、アイコンセットが持つアイコンの数に合わせて、IconCriteriaコレクションの各IconSetConditionオブジェクト(サンプルコードの12行目のIconCriteria(2)や18行目のIconCriteria(3))に対して個別に設定を行う必要があります。
実行結果
上のコードを実行すると以下のようになります。例としてA列に1から順に入力しています。
条件付き書式は以下のようになります。