VBAで条件付き書式を追加する

Range.FormatConditions.Addメソッド

条件付き書式の設定を行うにはRangeオブジェクトの条件付き書式を管理するFormatConditionsコレクションのAddメソッドを使います。

Addメソッドは「条件付き書式ルールの管理」ダイアログの「新規ルール」ボタンに該当します。

AddメソッドによりFormatConditionオブジェクトが返されます。この時点でFormatConditionsコレクションに追加された状態になります。上の画像に追加した場合はFormatConditions(4)が追加された状態になります。

あとは書式の設定をFormatConditionオブジェクトのFontプロパティ(文字設定)、Interiorプロパティ(背景色)、Borderプロパティ(罫線)などの設定を行います。ここは書き方に特徴があるためサンプルコードを参照してください。

構文

Excel2003までの場合

Excel2007以降

AddメソッドはExcel2003までは引数が4個ですが、2007以降では8個に増えています。

しかし、MSDNでは4個までしか記載がありません。
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/formatconditions-add-method-excel

ヘルプに書いていない分も含めて引数は以下で説明します。

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 一意値
Operator 条件付き書式の演算子をXLFormatConditionOperator列挙型の定数で指定します。引数TypeがxlExpressionの場合は無視されます。省略可能です。

定数 内容
xlBetween 1 範囲内
xlEqual 3 等しい
xlGreater 5 次の値より大きい
xlGreaterEqual 7 以上
xlLess 6 次の値より小さい
xlLessEqual 8 以下
xlNotBetween 2 範囲外
xlNotEqual 4 等しくない
Formula1 条件の値となる数値、文字列、セル参照、数式を設定します。省略可能です。
Formula2 引数OperatorがxlBetween(範囲内)、または、xlNotBetween(範囲外)の場合に引数Formula1に対応する値を設定します。省略可能です。
String 引数TypeでxlTextString(文字列)を指定した場合に対象となる文字列を指定します。この場合は引数Formula1と引数Formula2は無視されます。省略可能です。
TextOperator 引数TypeでxlTextString(文字列)を指定した場合に引数Stringの判定方法をXlContainsOperator列挙型で指定します。省略可能です。

定数 内容
xlBeginsWith 2 ではじまる
xlContains 0 を含む
xlDoesNotContain 1 を含まない
xlEndsWith 3 で終わる
DateOperator 引数TypeでxlTimePeriod(期間)を指定した場合に対象の期間をXlTimePeriods列挙型で指定します。省略可能です。

定数 内容
xlLast7Days 2 過去7日間
xlLastMonth 5 先月
xlLastWeek 4 先週
xlNextMonth 8 来月
xlNextWeek 7 来週
xlThisMonth 9 今月
xlThisWeek 3 今週
xlToday 0 今日
xlTomorrow 6 明日
xlYesterday 1 昨日
ScopeType 条件付き書式がピボットテーブルに対して適用する場合に、XlPivotConditionScope列挙型で指定します。

定数 内容
xlDataFieldScope 2 指定されたフィールドのデータに基づく
xlFieldsScope 1 指定されたフィールドに基づく
xlSelectionScope 0 指定された選択基準に基づく



サンプルコード

A列に1を入力した場合に、セルの背景色などを設定するサンプルコードです。

実行結果

条件付き書式の設定は以下のように登録されます。

この状態でA列に1を入力すると以下のようになります。

関連記事

サブコンテンツ

このページの先頭へ