条件付き書式は便利ですが、設定を繰り返すと不要なルールが残ってしまい、意図しない動作をすることがあります。
そんなときは、VBAで 条件付き書式を削除(クリア) するのが効果的です。
1. 範囲の条件付き書式をすべて削除する
Sub 条件付き書式_削除()
Dim rng As Range
Set rng = Range("A1:A10") '対象範囲
'条件付き書式を削除
rng.FormatConditions.Delete
End Sub
ポイント
.FormatConditions.Delete
で、対象範囲に設定されている条件付き書式をすべて削除できる。- セル自体の通常の書式(フォントや色)は削除されない。
2. ワークシート全体の条件付き書式を削除する
Sub シート全体の条件付き書式削除()
Cells.FormatConditions.Delete
End Sub
ポイント
Cells
を指定することで、シート全体に設定された条件付き書式を一括で削除可能。- 新規にルールを作成する前にリセットする用途で便利。
3. 特定の条件付き書式だけ削除する
複数のルールを設定している場合、番号を指定して削除できます。
Sub 条件付き書式_一部削除()
Dim rng As Range
Set rng = Range("A1:A10")
'2番目の条件付き書式を削除
rng.FormatConditions(2).Delete
End Sub
ポイント
FormatConditions(番号)
でルールを指定できる。- 削除すると残りのルールが繰り上がって再番号付けされる。
4. 注意点
- Deleteは元に戻せない → 必要なら実行前にバックアップを取る。
- 条件の数を確認する方法
Debug.Print rng.FormatConditions.Count
これで対象範囲に何個ルールが設定されているか確認可能。
5. まとめ
.FormatConditions.Delete
で 条件付き書式を一括削除Cells.FormatConditions.Delete
で シート全体を削除FormatConditions(番号).Delete
で 特定のルールだけ削除
条件付き書式をVBAで操作するときは、不要なルールを削除してから追加するのが基本です。
コメント