【Excel VBA】コメント(メモ)を削除する(ClearComments/Delete)

はじめに

今回は、セルのコメント(メモ)を削除する方法について解説します。
削除には2通りの方法があり、それぞれのメリットやデメリットについても掲載しています。
ぜひ最後までお付き合いください!

この記事を読むメリット
  • セルのコメント(メモ)を削除する方法が分かります。
  • 一部コメント(メモ)のみ削除する方法についても解説します。
  • コピペで使える実践的なサンプルコードを掲載しています。

前提

コメントの定義

本記事で紹介するコメントについて、
Microsoft 365では「メモ」、それ以外では「コメント」と呼ばれるものを指します。

具体的には以下です。

本記事で紹介するコメント

基本情報

ClearCommentsメソッド

セルのコメントを削除するには、RangeオブジェクトのClearCommentメソッドを使用します。

構文

Range(“A1”).ClearComments

Deleteメソッド

CommentオブジェクトのDeleteメソッドを使用しても、コメントの削除は可能です。使用します。

構文

Range(“A1”).Comment.Delete

上記の例では、A1セルにコメントが挿入されていない場合はエラーとなります。
前述する、ClearCommentsメソッドはコメントが挿入されていない場合でもエラーにはなりません。

りゅう

基本的にはClearCommentsメソッドで良いと思いますが、
Deleteメソッドは、以下のサンプルコードのように、コメントを1件ずつ判定して削除する場合に適しています。
サンプルコード – 条件に合致するコメントのみ削除する

サンプルコード

セルのコメントを削除する

サンプルコード
Public Sub deleteComment()

    ' A1セルのコメントを削除する
    Worksheets("Sheet1").Range("A1").ClearComments

    ' B1 ~ B3セルのコメントを削除する
    Worksheets("Sheet1").Range("B1:B3").ClearComments
End Sub

条件に合致するコメントのみ削除する

サンプルコード
Public Sub deleteComment()
    Dim comment As comment  ' Commentオブジェクト

    ' シート内のコメントをループ
    For Each comment In Worksheets("Sheet1").Comments

        If (comment.Text Like "*VBA*") Then

            ' コメントに "VBA" が入力されている場合のみ削除する
            comment.Delete
        End If
    Next comment
End Sub

シート内の全コメントを削除する

サンプルコード
Public Sub deleteCommentForSheet()

    ' シート内の全コメントを削除する
    Worksheets("Sheet1").Cells.ClearComments
End Sub

最後に

今回は、セルのコメントを削除する方法について解説しました。

本記事が皆さんのお力になれば幸いです!

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

この記事を書いた人

大手外資系コンサルティングファーム勤務。ExcelVBA歴は8年。金融関係のプロジェクトにて約100万レコードを処理するマクロの開発実績あり。ExcelVBAの基礎・応用情報を発信中。

コメント

コメントする

CAPTCHA