Home » ExcelVBA Rangeオブジェクト » コメント » コメントを一括削除するExcelマクロ

コメントを一括削除するExcelマクロ

対象:Excel2003, Excel2007, Excel2010, Excel2013

すべてのシートのコメントを一括削除するマクロ

Excelで単独のシート上のコメントを一括削除する操作をご紹介しました。

実務では、全ワークシートのコメントを、すべて削除したいということもあるでしょう。

[スポンサードリンク]

こんなときはVBA(Visual Basic for Applications)でマクロを作るのが便利です。

アクティブシートのコメントを削除するサンプルマクロ

ブックの全コメントを削除するマクロをご紹介する前に、アクティブシートのコメントを削除するマクロをご紹介しておきます。
Sub アクティブシートのコメントをすべて削除する()
On Error Resume Next
 Cells.SpecialCells(xlCellTypeComments).ClearComments
End Sub

Cellsプロパティでアクティブシート上の全セルを表すRangeオブジェクトを取得して、そのRangeオブジェクトのSpecialCellsメソッドに、引数・xlCellTypeCommentsを指定して、コメントの挿入されているセルを表すRangeオブジェクトを取得して、ClearCommentsメソッドでコメントを削除しています。

コメントの挿入されているセルが存在しないときにエラーとなるのを避けるために、On Error Resume Nextでエラーを無視しています。

プログラミングの経験はあるけれど、Excelマクロのことをあまりご存じない方の場合、ループ処理を考えてしまいがちですが、アクティブなワークシートからコメントを削除する場合、ループを回す必要はありません。

アクティブブックの全シートのコメントを削除するサンプルマクロ

で、本題の全シートのコメントを削除するマクロです。

以下のようなマクロにすれば、アクティブブックの全ワークシートのコメントを削除することができます。
Sub アクティブなブックのコメントをすべて削除する()
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

[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » コメント » コメントを一括削除するExcelマクロ

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

.