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 アクティブなブックのコメントをすべて削除する()

 Dim sh As Worksheet

 On Error Resume Next

 For Each sh In Worksheets
  sh.Cells.SpecialCells(xlCellTypeComments).ClearComments
 Next

End Sub

先のアクティブシートからコメントを削除するマクロで使っている処理を、For Each~Nextループの中で、全ワークシートに対して行えば、アクティブなブックの全シートからコメントを削除できるわけです。

[スポンサードリンク]

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

TrackBack:2

TrackBack URL
すべてのコメントを削除するWordマクロ-Document.DeleteAllCommentsメソッド from インストラクターのネタ帳
対象:Word2003, Word2007, Word2010, Word2013 アクティブなブックのすべてのコメントを削除する、Excelマクロをご...
コメントを削除するPowerPointマクロ from インストラクターのネタ帳
アクティブなスライド上のコメントを削除するPowerPointマクロと、アクティブなプレゼンテーション上のコメントを削除するPowerPointマクロをご...

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

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

.