Home > 即効テクニック > Excel VBA > セル操作関連のテクニック > セルにコメントを追加する(AddCommentメソッド)

即効テクニック

セル操作関連のテクニック

セルにコメントを追加する(AddCommentメソッド)

(Excel 2000)
指定した単体セルにコメントを追加します。コメントを追加すると、Rangeオブジェクトの下位オブジェクトであるCommentオブジェクトが生成されますので、書式などの設定は、Commentオブジェクトに対して行ってください。

 構文  Object.AddComment(Text)

 設定項目    内容
  Object      Rangeオブジェクト
  Text        追加するコメントのテキストを指定します [省略可能]

次のサンプルは、セル範囲A2〜A5に自分のセルのアドレスをコメントとして追加するものです。
●サンプル1●
Sub AddCommentSamp1()

   Dim c As Range

   For Each c In Range("A2:A5")    '---(1)
      c.AddComment Text:=c.Address
   Next c

End Sub
コメントの追加は単体のセルに対してしか実行できないため、(1)のようにFor...Eachステートメントを使って、個々のセルに対して追加を行っています。

この方法でコメントを追加したのでは、結果の画面を見てわかるように、常にコメントが表示された状態になります。普段はコメントがあることを知らせるマークだけ表示させておく場合には、CommentオブジェクトのVisibleプロパティにFalseを設定します。
そういったコメントの書式設定までも一度に行うには、次のように記述します。
●サンプル2●
Sub AddCommentSamp2()

    Dim c As Range

    For Each c In Range("A2:A5")
        c.AddComment    '---オブジェクトだけ作成する
        With c.Comment
            .Text Text:=c.Address   '---Textメソッドでテキスト指定
            .Visible = False        '---表示しないようにする
            .Shape.AutoShapeType = msoShapeExplosion1  '---コメントの形を装飾
        End With
    Next c

End Sub
ここでは解説しませんが、Commentオブジジェクトにも多数のプロパティ、メソッドが用意されていますので、VBAならではの柔軟なコメントの操作も可能です。

なお、セルに追加したコメントを削除するには、
   Range("A2:A5").ClearComments
と記述してください。削除の場合には、複数のセルでも一度に処理可能です。

削除の場合には、複数のセルでも一度に処理可能です。サンプル3で実行を確認してください。
●サンプル3●
Sub AddCommentSamp3()

    MsgBox "セルA2〜A5のコメントを削除します", vbInformation
    Range("A2:A5").ClearComments

End Sub