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

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

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

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

(Excel 2000/2002/2003/2007/2010/2013)

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

構文  Object.AddComment(Text)
設定項目 内容
Object Rangeオブジェクト
Text コメントに表示する文字列を指定する。[省略可能]

次のコードは、アクティブセルにコメントを追加します。

Sub Sample1()
    ActiveCell.AddComment "これはコメントです"
End Sub

コメントの追加は単体のセルに対してしか実行できません。
複数のセルにコメントを追加するには、次のようにループを使って個々のセルに追加します。

Sub Sample2()
    Dim c As Range
    For Each c In Range("A1:A5")
        c.AddComment Date & "更新"
    Next c
End Sub

■コメントを複数行で表示する

コメントの文字列に複数行を表示したいときは、次のように改行を指定します。
マクロ記録では改行のコードとしてChar(10)が記録されますが、定数vbCrLfでもOKです。

Sub Sample3()
    ActiveCell.AddComment Date & vbCrLf & _
            "マクロで挿入した" & vbCrLf & "コメントです"
End Sub

■コメントの表示/非表示や吹き出しの形を設定する

AddCommentメソッドは、セルにコメントを追加して、そのコメントを表すCommentオブジェクトを返します。コメントに何らかの設定を行う場合は、このCommentオブジェクトに対して行います。

CommentオブジェクトのVisibleプロパティにTrueを設定すると、コメントを表示した状態になります。Falseを設定すると、セルにコメントがあることを示すインジケータのみを表示した状態になります。
また、Excelの既定ではコメントの形は四角形ですが、次のようにすると吹き出しの形を変更することもできます

Sub Sample4()
    With ActiveCell.AddComment("よく確認してください!")
        .Shape.AutoShapeType = msoShape8pointStar
        .Visible = True
    End With
End Sub

■コメントを削除する

セルに追加したコメントを削除するには、RangeオブジェクトのClearCommentsメソッドを使用します。削除の場合は、複数のセルでも一度に処理できます。
また、ClearCommentsメソッドは、コメントがないセルに対して実行してもエラーにはなりません。

Sub Sample5()
    MsgBox "セルA1:B50のコメントを削除します", vbInformation
    Range("A1:B50").ClearComments
End Sub

●補足●

コメントの追加では、注意しなければならないことがあります。
それは、すでにコメントがあるセルにAddCommentメソッドを実行するとエラーになるということです。
コメントの有無を調べるには「コメントが追加されているかを判定する(Commentプロパティ)」を参照してください。