【VBA】セルの値によって書式変更(例:100以上を赤字)

条件付き書式の最も基本的な使い方は、セルの値に応じて書式を変える方法です。
ここでは「セルの値が100以上のとき、赤字にする」という例を紹介します。


1. 基本コード例

Sub 条件付き書式_値で赤字()
    Dim rng As Range
    Set rng = Range("A1:A10") '対象範囲を指定
    
    '既存の条件付き書式を削除
    rng.FormatConditions.Delete
    
    '新しい条件付き書式を追加
    rng.FormatConditions.Add _
        Type:=xlCellValue, _
        Operator:=xlGreaterEqual, _
        Formula1:="100"
    
    '書式を赤字に設定
    rng.FormatConditions(1).Font.Color = vbRed
End Sub

2. 処理の流れ

  1. 対象範囲を指定
    Range("A1:A10") のようにセル範囲を設定します。
  2. 既存の条件付き書式を削除
    FormatConditions.Delete を使うことで、重複を避けられます。
  3. 条件の追加
    Type:=xlCellValue を指定し、Operator:=xlGreaterEqual として「100以上」を条件にします。
  4. 書式の設定
    Font.Color = vbRed を指定して赤字にします。

3. 応用例:背景色の変更

赤字ではなく背景色を変えたい場合は Interior.Color を使います。

rng.FormatConditions(1).Interior.Color = RGB(255, 200, 200)

上記を追加すると、100以上のセルは「背景を淡い赤色」にできます。


4. 他の条件設定例

  • 50以下を青字にする
    rng.FormatConditions.Add _
    Type:=xlCellValue, _
    Operator:=xlLessEqual, _
    Formula1:="50"
    rng.FormatConditions(2).Font.Color = vbBlue
  • 範囲内の判定(50~100)
    rng.FormatConditions.Add _
    Type:=xlCellValue, _
    Operator:=xlBetween, _
    Formula1:="50", _
    Formula2:="100" rng.FormatConditions(3).Interior.Color = RGB(200, 255, 200)

5. まとめ

  • FormatConditions.Add を使って「セルの値に基づく条件」を設定できる。
  • Font.Color や Interior.Color を使えば文字色・背景色を自由に変更可能。
  • 数値の大小判定や範囲指定も柔軟に設定できる。

コメント

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