「vba 条件付き書式 削除」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あることに気が付きました。
VBA(Visual Basic for Applications)で、条件付き書式を削除するには、どのようなコードを書けばいいのかを探している方による検索です。
上図のような[条件付き書式ルールの管理]ダイアログの[ルールの削除]ボタンから、条件付き書式は削除できますが、複数の条件付き書式が設定されているような場合に、手作業で条件付き書式を削除するのは、結構面倒ですから、マクロで条件付き書式を削除したいというニーズがあるのは、とても納得です。
参考になりそうなマクロをいくつかご紹介しておきます。
指定したセルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、A1:G7セルの条件付き書式を削除できます。
Sub 条件付き書式の削除_指定セル()
Range("A1", "G7").FormatConditions.Delete
End Sub
上記のマクロで利用しているオブジェクトモデルの階層関係は下図のとおりです。
VBAから条件付き書式を操作するには、FormatConditionsコレクションオブジェクトや、
そのメンバーであるFormatConditionオブジェクトを利用します。
FormatConditionsコレクションオブジェクトは、RangeオブジェクトのFormatConditionsプロパティで取得することができます。
セルに設定されているすべての条件付き書式を表すFormatConditionsコレクションオブジェクトのDeleteメソッドを使うことで、ループ処理なしで削除を行っています。
アクティブシートの全セルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、アクティブなワークシートのすべてのセルの条件付き書式を削除できます。
Sub 条件付き書式の削除_アクティブシート()
Cells.FormatConditions.Delete
End Sub
Cellsプロパティを使って、アクティブなワークシートのすべてのセルを表すRangeオブジェクトを取得して、そのFormatConditionsコレクションオブジェクトのDeleteメソッドで削除を行っています。
アクティブブックの全セルの条件付き書式を削除するサンプルマクロ
以下のようなマクロで、アクティブなブックのすべてのセルの条件付き書式を削除できます。
Sub 条件付き書式の削除_アクティブブック()
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
実行しています。
Home » ExcelVBA Rangeオブジェクト » 条件付き書式 » 条件付き書式を削除するExcelマクロ
TrackBack:1
- TrackBack URL
- VBAで条件付き書式を1つだけ削除する from インストラクターのネタ帳
- アクティブなワークシート上の条件付き書式を1つだけ削除するExcel(エクセル)マクロをご紹介しています。