VBAで条件付き書式の上位と下位を設定する

Range.FormatConditions.AddTop10メソッド

指定セル範囲の中で、上位や下位の指定値を満たすセルに対して書式を設定するにはAddTop10メソッドを利用します。

書式はAddTop10メソッドが返すTop10オブジェクトに対して行います。

そのため書式の設定は必ずAddTop10メソッドの実行後に行うことになります。

構文

Range.FormatConditions 親オブジェクトとして指定します。
Top10 戻り値としてTop10オブジェクトを返します。

Top10オブジェクトのプロパティ

AddTo10メソッドで返されるTop10オブジェクトの各種プロパティを利用して書式を設定します。

Application Top10オブジェクトを作成したApplicationオブジェクトを取得します。値の取得のみ可能です。
AppliesTo 書式ルールが適用されているセル範囲を表す Range オブジェクトを返します。
Borders 条件付き書式ルールが True に評価された場合にセルの罫線の書式を指定する Borders コレクションを返します。値の取得のみ可能です。
CalcFor ピボットテーブル レポート内の条件付き書式が評価される方法をXlCalcFor列挙型で取得または設定します。

定数 内容
xlAllValues 0 全ての値
xlColGroups 2 列グループ
xlRowGroups 1 行グループ
Creator Top10オブジェクトを作成したアプリケーションを 32 ビットの整数値で返します。値の取得のみ可能です。長整数型 (Long) の値を使用します。
Font 条件付き書式ルールが True に評価された場合のフォントの設定を Font オブジェクトで返します。値の取得のみ可能です。
Interior 条件付き書式ルールが True に評価された場合にセルの塗りつぶしの設定をInteriorオブジェクトで返します。値の取得のみ可能です。
NumberFormat 条件付き書式ルールが True に評価された場合にセルに適用される表示形式を返します。値の取得および設定が可能です。バリアント型 (Variant) の値を使用します。
Parent 指定されたオブジェクトの親オブジェクトを返します。値の取得のみ可能です。
Percent ランクをパーセンテージの値で決定するかどうかをBoolean型で指定します。Trueの場合はパーセントにし、Falseまたは省略時はランクの数字になります。
Priority 条件付き書式ルールの優先度の値を取得、または設定します。優先度は、ワークシート内に複数の条件付き書式ルールが存在する場合、その評価の順序を決定します。
PTCondition 条件付き書式がピボットテーブルに適用されるかどうかを表すブール型 (Boolean) の値を返します。値の取得のみ可能です。Trueが適用され、Falseまたは省略時は適用されません。
Rank 条件付き書式ルールのランク値の数またはパーセンテージをLong値で取得または指定します。
ScopeType 条件付き書式がピボットテーブルに適用される場合、その適用範囲を表す XlPivotConditionScope 列挙型の定数を取得または設定します。

定数 内容
xlDataFieldScope 2 指定されたフィールドのデータに基づく
xlFieldsScope 1 指定されたフィールドに基づく
xlSelectionScope 0 指定された選択基準に基づく
StopIfTrue 現在のルールが True に評価された場合、そのルール以降より下位優先度のルールを設定するかどうかをBoolean型で指定します。Trueの場合は下位優先度のルールは設定されません。
TopBottom ランクが上から評価されるか下から評価されるかを設定します。XlTopBottom列挙型で取得または設定します。

定数 内容
xlTop10Bottom 0 下位からの順位
xlTop10Top 1 上位からの順位
Type 条件付き書式の種類を表すXlFormatConditionType列挙型の定数を返します。値の取得のみ可能です。

定数 内容
xlAboveAverageCondition 12 平均以上
xlBlanksCondition 10 空白
xlCellValue 1 セル値
xlColorScale 3 カラースケール
xlDatabar 4 データバー
xlErrorsCondition 16 エラー条件
xlExpression 2 演算
xlIconSets 6 アイコンセット
xlNoBlanksCondition 13 空白条件なし
xlNoErrorsCondition 17 エラー条件なし
xlTextString 9 文字列
xlTimePeriod 11 期間
xlTop10 5 上位10位
xlUniqueValues 8 一意値



サンプルコード

A列の上位3位に書式を設定するサンプルコードです。

コード説明

ほとんどコメントのままなのですが、注意すべき点は最初に書いたとおり、書式の設定はAddTo10メソッドでTop10オブジェクトが確定したあとに行う必要があります。

実行結果

上のコードを実行すると以下のようになります。例としてA列にランダムに1から順に入力しています。そのうちの上位3つに書式が設定されます。

条件付き書式は以下のようになります。

関連記事

サブコンテンツ

このページの先頭へ