Home » ExcelVBA Rangeオブジェクト » 条件付き書式 » 条件付き書式を削除するExcelマクロ

条件付き書式を削除するExcelマクロ

対象:Excel2007, Excel2010, Excel2013

「vba 条件付き書式 削除」
といった検索で、このサイト・インストラクターのネタ帳へのアクセスが、時折あることに気が付きました。

VBA(Visual Basic for Applications)で、条件付き書式を削除するには、どのようなコードを書けばいいのかを探している方による検索です。

条件付き書式を削除するExcelマクロ

上図のような[条件付き書式ルールの管理]ダイアログの[ルールの削除]ボタンから、条件付き書式は削除できますが、複数の条件付き書式が設定されているような場合に、手作業で条件付き書式を削除するのは、結構面倒ですから、マクロで条件付き書式を削除したいというニーズがあるのは、とても納得です。

参考になりそうなマクロをいくつかご紹介しておきます。

[スポンサードリンク]

指定したセルの条件付き書式を削除するサンプルマクロ

以下のようなマクロで、A1:G7セルの条件付き書式を削除できます。


Sub 条件付き書式の削除_指定セル()
 Range("A1", "G7").FormatConditions.Delete
End Sub

上記のマクロで利用しているオブジェクトモデルの階層関係は下図のとおりです。

条件付き書式を削除するExcelマクロ

VBAから条件付き書式を操作するには、FormatConditionsコレクションオブジェクトや、

条件付き書式を削除するExcelマクロ

そのメンバーであるFormatConditionオブジェクトを利用します。

条件付き書式を削除するExcelマクロ

FormatConditionsコレクションオブジェクトは、RangeオブジェクトのFormatConditionsプロパティで取得することができます。

条件付き書式を削除するExcelマクロ

セルに設定されているすべての条件付き書式を表す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(エクセル)マクロをご紹介しています。
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » 条件付き書式 » 条件付き書式を削除するExcelマクロ

Copyright © インストラクターのネタ帳 All Rights Reserved.

.