ゆとり社会人の読書ノート&エクセルVBA

素人が公法を中心に幅広く読書をします&エクセルVBA奮闘記です。

条件付き書式の設定

Excel VBAで条件付き書式を設定していたら、躓くポイントがあったのでメモとして残します。

起こった事象

Excel VBAで、条件付き書式を全削除して再度設定をしたら、条件式は正しいのに意図していた書式が反映されていなかった。

原因

FormatConditions.Addで条件付き書式を追加しただけだと「条件を満たす場合は停止」にチェックが入ってしまっており、意図していた条件(下の方にある条件)が反映されなかった。

対策

下記のようなコードで、条件1つずつのチェックボックスをFALSEにしました。VBAで条件付き書式を設定する際、デフォルトで「条件を満たす場合は停止」にチェックが入ってしまうのですが、不便だなと感じました。私は日常業務でこのチェックボックスを使うことがなく、下記コードを追加するのを忘れそうで怖いです。

For i = 1 To 4
    ws2.Cells.FormatConditions(i).StopIfTrue = False
Next i