「vba 条件付き書式 削除」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あることに気が付きました。
VBAを使って、条件付き書式を削除するには、どのようなコードを書けばいいのかを探している方による検索です。
上図のような[条件付き書式ルールの管理]ダイアログの[ルールの削除]ボタンから、条件付き書式は削除できます。
ただし複数の条件付き書式が設定されているような場合に、手作業で条件付き書式を削除するのは結構面倒ですから、マクロで条件付き書式を削除したいというニーズがあるのは、とても納得です。
参考になりそうなマクロをいくつかご紹介しておきます。
指定したセルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、A1:G7セルの条件付き書式を削除できます。Range("A1", "G7").FormatConditions.Delete
End Sub
上記のマクロで利用しているオブジェクトの階層構造は下図のとおりです。
VBAから条件付き書式を操作するには、FormatConditionsコレクションや、
そのメンバーであるFormatConditionオブジェクトを利用します。
FormatConditionsコレクションは、RangeオブジェクトのFormatConditionsプロパティで取得することができます。
セルに設定されているすべての条件付き書式を表すFormatConditionsコレクションのDeleteメソッドを使うことで、ループ処理なしで削除を行っています。
アクティブシートの全セルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、アクティブなワークシートのすべてのセルの条件付き書式を削除できます。Cells.FormatConditions.Delete
End Sub
Cellsプロパティを使って、アクティブなワークシートのすべてのセルを表すRangeオブジェクトを取得して、そのFormatConditionsコレクションのDeleteメソッドで削除を行っています。
アクティブブックの全セルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、アクティブなブックのすべてのセルの条件付き書式を削除できます。
Dim ws As Worksheet For Each ws In Worksheets
ws.Cells.FormatConditions.Delete
Next ws
End Sub
先の、アクティブなワークシート上の条件付き書式を削除するコード、
Cells.FormatConditions.Delete
を、全ワークシートに対するFor Each~Nextループの中で、全ワークシートに対して
For Each ws In Worksheets
ws.Cells.FormatConditions.Delete
実行しています。
最終更新日時:2019-01-14 16:11
Home » Excel VBA Rangeオブジェクト » 条件付き書式 » VBAで条件付き書式を削除する