Excel VBAで条件付き書式を設定していたら、躓くポイントがあったのでメモとして残します。
起こった事象
Excel VBAで、条件付き書式を全削除して再度設定をしたら、条件式は正しいのに意図していた書式が反映されていなかった。
原因
FormatConditions.Addで条件付き書式を追加しただけだと「条件を満たす場合は停止」にチェックが入ってしまっており、意図していた条件(下の方にある条件)が反映されなかった。
対策
下記のようなコードで、条件1つずつのチェックボックスをFALSEにしました。VBAで条件付き書式を設定する際、デフォルトで「条件を満たす場合は停止」にチェックが入ってしまうのですが、不便だなと感じました。私は日常業務でこのチェックボックスを使うことがなく、下記コードを追加するのを忘れそうで怖いです。
For i = 1 To 4
ws2.Cells.FormatConditions(i).StopIfTrue = False
Next i