Excelには「条件付き書式(Conditional Formatting)」を使って、セルの値に応じて色分けなどの視覚的な強調が可能です。しかし、どのセルに条件付き書式が設定されているのかを後から確認するのは、手動では困難な場合があります。
本記事では、VBAを使って、条件付き書式が設定されているセル範囲を自動的に検出し、選択状態にして表示する方法をご紹介いたします。
目次
サンプルコード:条件付き書式の設定セルを抽出
Sub checkConditionalFormattingCells()
Dim cfRange As Range
On Error Resume Next
Set cfRange = Cells.SpecialCells(xlCellTypeAllFormatConditions)
On Error GoTo 0
If Not cfRange Is Nothing Then
cfRange.Select
MsgBox "条件付き書式が設定されているセル範囲:" & cfRange.Address
Else
MsgBox "条件付き書式が設定されているセルは見つかりませんでした。"
End If
End Sub
コードの解説
項目 | 内容 |
---|---|
SpecialCells(xlCellTypeAllFormatConditions) | 条件付き書式が設定されたセルをすべて取得します。 |
On Error Resume Next | 対象が存在しない場合にエラーで止まらないようにします。 |
If Not cfRange Is Nothing | 対象のセル範囲が存在するかどうかを判定しています。 |
cfRange.Select | 条件付き書式があるセルを選択状態にします。 |
MsgBox | 対象範囲が見つかった場合は、セル範囲をメッセージで通知します。 |
使用シーンの例
- 他人が作成したファイルで、どこに条件付き書式があるか調べたいとき
- 条件付き書式の対象範囲を一括で削除・再設定する前に確認したい場合
- 見た目ではわかりにくい空白条件や数式条件の痕跡を特定したいとき
まとめ
VBAを使えば、手動では見落としやすい条件付き書式の適用範囲を簡単に可視化することが可能です。
業務でExcelファイルを複数人で共有・管理している環境では、特に役立つ機能です。
このスクリプトをマクロとして登録しておけば、日常業務でもすぐに使えて便利です。