【VBA】FormatConditions の概要と構文解説

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
    OperatorxlBetweenxlNotBetweenのときに使う第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 の指定によって柔軟に条件を制御できる。

コメント

タイトルとURLをコピーしました