【VBA入門】コメント(メモ)を一括で削除する方法|特定列のコメントだけを対象に処理する

Excel VBAでは、セルに付けられた**コメント(旧:メモ)**を簡単に削除することができます。
この記事では、特定の列に存在するすべてのコメントを検出し、削除する方法をご紹介いたします。


目次

VBAコード:特定列のコメントを削除する処理

Sub DeleteAllCommentsInColumn()
    Dim targetCell As Range
    Dim commentRange As Range

    On Error Resume Next
    Set commentRange = Columns("B").SpecialCells(xlCellTypeComments)  ' B列のコメント付きセルを取得
    On Error GoTo 0

    If commentRange Is Nothing Then
        MsgBox "B列にコメントは存在しません。"
        Exit Sub
    End If

    For Each targetCell In commentRange
        targetCell.Comment.Delete
    Next

    MsgBox "B列のコメントはすべて削除されました。"
End Sub

コードの説明

処理内容
SpecialCells(xlCellTypeComments)コメントのあるセル範囲のみを抽出
targetCell.Comment.Deleteコメントを削除
On Error Resume Nextコメントがない場合のエラーを回避
MsgBox結果をユーザーに通知

注意点と補足

  • xlCellTypeComments は、**従来のコメント(メモ)**が対象です。**スレッドコメント(新しい形式)**には対応しておりません。
  • 範囲全体(例:ActiveSheet.UsedRange)や全列を対象に変更することも可能です。
  • 空のコメントセルがない場合、SpecialCells はエラーになるため、On Error Resume Next を併用します。

使用例

  • 他人から提供されたExcelファイルにある不要なコメントを一括削除したい場合
  • テンプレート作成時に、仮のメモをクリアしてから配布したい場合
  • 操作ミスや自動記録で増えたコメントをまとめて消したいとき

まとめ|不要なコメントはVBAで安全に一括削除可能

Excelで作業中、不要となったコメントを1つひとつ削除するのは手間がかかります。
VBAを使えば、特定列やシート全体のコメントを瞬時に一括削除することが可能です。

  • コメントを持つセルだけを抽出して処理
  • 削除前に存在確認を行う
  • ユーザーにわかりやすい通知を表示

こうした一連の処理により、より安全で柔軟なVBA実装が可能になります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次