【VBA】条件付き書式を削除する(Deleteの使い方)

条件付き書式は便利ですが、設定を繰り返すと不要なルールが残ってしまい、意図しない動作をすることがあります。
そんなときは、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で操作するときは、不要なルールを削除してから追加するのが基本です。

コメント

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