Excel VBAで条件付き書式を設定する

Excelで表を作成した時にセルの値によって色分けしたい場合があります。
そのような時に役立つのが条件付き書式です。条件付き書式を設定することで容易に条件に基づいてセルの色分けを行うことができます。
今回はVBAを使ってボタンを1クリックするだけで条件書式を設定する方法をご紹介します。

サンプルアプリ

生徒別に試験の結果をまとめた表に作成した「条件付き書式設定」ボタンをクリックすると
以下の条件に従ってセルが着色されます。
 ・平均点が85点以上の場合は青色
 ・平均点が70点以上85点未満の場合は黄色
 ・平均点が50点以上、70点未満の場合は着色なし
 ・平均点が50点未満の場合は灰色

ボタンをクリックした時の処理内容

FormatConditionsコレクションオブジェクトを使って指定した範囲で条件書式の設定を行います。

下記コードで条件書式を設定する範囲を指定します。
「Range(“B6:G15").FormatConditions」
     ↓
FormatConditionsオブジェクトのAddメソッドで条件を指定します。
下記の場合G6のセルの値が85以上ならセルの値をパウダーブルー色に着色します。
数式による条件書式を設定するにはAddメソッドで引数「Type」を「xlExpression」にすることで
引数「Formula1」で演算式を指定できます。
.Add(Type:=xlExpression, Formula1:="=$G6>=85″).Interior.Color = rgbPowderBlue

カラー一覧

セルに設定する配色は下記一覧から選択することができます。

サンプルコード   アプリの作成手順はこちら

Option Explicit

Sub 平均点条件付き書式()

    With Range("B6:G15").FormatConditions
    
      '指定されたセル範囲に設定されている条件書式を一旦削除
      .Delete
      
      'FormatConditions.Addで条件付き書式を設定します
      
      '平均点が85点以上ならセルを青色に着色
      .Add(Type:=xlExpression, Formula1:="=$G6>=85").Interior.Color = rgbPowderBlue
      
      '平均点が70点以上ならセルを黄色に着色
      .Add(Type:=xlExpression, Formula1:="=$G6>=70").Interior.Color = rgbLemonChiffon
      
      '平均点が50点未満ならセルを灰色に着色
      .Add(Type:=xlExpression, Formula1:="=$G6<50").Interior.Color = rgbLightGray
      
    End With
    
End Sub