VBAで条件付き書式を操作する際には、FormatConditions コレクションを使用します。
このコレクションを通じて、新しい条件付き書式の追加・変更・削除を行うことができます。
目次
1. FormatConditions とは?
FormatConditionsは、セル範囲に設定された条件付き書式のコレクションです。- 1つのセル範囲には複数の条件付き書式を持つことができ、それぞれをインデックス番号で参照します。
- 例:
Range("A1").FormatConditions(1)→ A1セルの最初の条件付き書式。
詳しく説明すると…
FormatConditionsは、セルや範囲に設定された条件付き書式のコレクション(一覧)です。FormatConditions(1)は、そのコレクションの最初の条件を参照しています。
たとえば、以下のように複数の条件を追加した場合:
rng.FormatConditions.Add Type:=xlExpression, Formula1:="=A1>100"
rng.FormatConditions.Add Type:=xlExpression, Formula1:="=A1<50"
このとき、
FormatConditions(1)は=A1>100の条件FormatConditions(2)は=A1<50の条件
になります。
ポイント
- 条件付き書式は最大3つまで設定できます(Excelの制限)。
- 条件の順番は評価の優先順位にも関係します。上から順にチェックされ、最初に一致した条件の書式が適用されます。
2. 主なメソッド
FormatConditions を操作する上で、よく使うメソッドを紹介します。
- Add
新しい条件付き書式を追加します。Range("A1").FormatConditions.Add _Type:=xlCellValue, _Operator:=xlGreater, _Formula1:="100" - Delete
条件付き書式を削除します。Range("A1").FormatConditions.Delete - Modify(既存条件の変更)
条件付き書式を参照して、書式の設定や条件を変更できます。Range("A1").FormatConditions(1).Font.Color = vbRed
3. Add メソッドの構文
条件付き書式を新規に追加する際の基本構文は以下の通りです。
Range("A1").FormatConditions.Add _
Type:=xlCellValue, _
Operator:=xlGreater, _
Formula1:="100"
- Type
条件の種類を指定します。
例:xlCellValue(セルの値)、xlExpression(数式による条件) - Operator
比較演算子を指定します。
例:xlGreater(より大きい)、xlEqual(等しい) - Formula1
比較対象の値や数式を指定します。 Formula2OperatorがxlBetweenやxlNotBetweenのときに使う第2の値
4. よく使う定数
条件の種類(Type)
xlCellValue: セルの値に基づく条件xlExpression: 数式に基づく条件
比較演算子(Operator)
xlEqual: 等しいxlNotEqual: 等しくないxlGreater: より大きいxlLess: より小さいxlBetween: 範囲内xlNotBetween: 範囲外
5. 書式設定の指定
条件を追加した後に、フォントや背景色などの書式を設定できます。
With Range("A1").FormatConditions(1).Font
.Bold = True
.Color = vbRed
End With
背景色を設定する場合:
Range("A1").FormatConditions(1).Interior.Color = RGB(255, 200, 200)
6. まとめ
FormatConditionsは条件付き書式のコレクションで、追加・削除・変更が可能。Addメソッドで新しい条件を作成し、フォントや背景色を設定する。TypeやOperatorの指定によって柔軟に条件を制御できる。
コメント