Excelで単独のシート上のコメントを一括削除する操作をご紹介しました。
実務では、全ワークシートのコメントを、すべて削除したいということもあるでしょう。
こんなときはVBA(Visual Basic for Applications)でマクロを作るのが便利です。
アクティブシートのコメントを削除するサンプルマクロ
ブックの全コメントを削除するマクロをご紹介する前に、アクティブシートのコメントを削除するマクロをご紹介しておきます。On Error Resume Next
Cells.SpecialCells(xlCellTypeComments).ClearComments
End Sub
Cellsプロパティでアクティブシート上の全セルを表すRangeオブジェクトを取得して、そのRangeオブジェクトのSpecialCellsメソッドに、引数・xlCellTypeCommentsを指定して、コメントの挿入されているセルを表すRangeオブジェクトを取得して、ClearCommentsメソッドでコメントを削除しています。
コメントの挿入されているセルが存在しないときにエラーとなるのを避けるために、On Error Resume Nextでエラーを無視しています。
プログラミングの経験はあるけれど、Excelマクロのことをあまりご存じない方の場合、ループ処理を考えてしまいがちですが、アクティブなワークシートからコメントを削除する場合、ループを回す必要はありません。
アクティブブックの全シートのコメントを削除するサンプルマクロ
で、本題の全シートのコメントを削除するマクロです。
以下のようなマクロにすれば、アクティブブックの全ワークシートのコメントを削除することができます。On Error Resume Next
Dim sh As Worksheet
For Each sh In Worksheets
sh.Cells.SpecialCells(xlCellTypeComments).ClearComments
Next
End Sub
先のアクティブシートからコメントを削除するマクロで使っている処理を、For Each~Nextループの中で、全ワークシートに対して行えば、アクティブなブックの全シートからコメントを削除できるわけです。
最終更新日時:2020-02-22 07:07
- Newer:すべてのコメントを削除するWordマクロ
- Older:人気ページ:2012(平成24)年アクセスランキング
Home » Excel VBA Rangeオブジェクト » コメント » コメントを一括削除するExcelマクロ