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
比較対象の値や数式を指定します。 Formula2
Operator
が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
の指定によって柔軟に条件を制御できる。
コメント