【EXCEL VBA | AddComment.Textメソッド】セルにコメントを入力する

スポンサーリンク

セルにコメントを入力す

そんなに使うことないかもですが、、、

セルにコメントを入力する方法を紹介します!

AddComment.Textメソッド

構文

Rangeオブジェクト.AddComment.Text "コメントの内容"

RangeオブジェクトのAddCommentメソッドでコメントの挿入が出来ます。

コメントの内容を指定する場合は、続けてTextメソッドを実行します。

引数に指定した文字列がコメント内のテキストに設定されます。

A1セルにコメントを入力してみます。

コードは次のようになります。

Sub sample()

    'A1セルにコメントを入力(ひらちんの部屋)
    Range("A1").AddComment.Text "ひらちんの部屋"
     
End Sub

では実行してみましょう。

コメントが入力されましたね(^o^)

ちなみに、コメントはコメントが入っているセルに実行するとエラーになるので、まずはコメントが入っていないかどうかを確認する必要があります。

すでにコメントが入力されているかどうかを確認するには、TypeName関数を利用します。

コメントが入っているかどうか調べたいセルのCommentオブジェクトに対してTypeName関数を実行すると、コメントがすでに入っている場合は”Comment”という文字列が返ります。

先程コメントを入力した、A1セルのCommentオブジェクトに対してTypeName関数を実行してみます。

Sub sample()

    'A1セルのCommentオブジェクトに対してTypeName関数を実行する
    MsgBox TypeName(Range("A1").Comment)
    
End Sub

実行します。

また、コメントが入っていないセルのCommentオブジェクトにTypeName関数を実行すると”Nothing”が変えるので、これを利用してコメントが入っているかどうかを調べましょう。

次のコードは、A1セルにコメントが入っていなければ”ひらちんの部屋”とコメントを入れる。すでにコメントが入っていいる場合は、そのコメントを消す。というコードです。

Sub sample()

    'コメントが入っているかどうか確認する
    If TypeName(Range("A1").Comment) = "Nothing" Then
    
        '入っていない場合コメントを入れる
        Range("A1").AddComment.Text "ひらちんの部屋"
    
    Else
    
        '入っていいる場合コメントを消す
        Range("A1").ClearComments
    
    End If
    
End Sub

入っているコメントを消すには、ClearCommentメソッドを使います。

実行してみましょう。

コメントが入っている場合とそうでない場合の条件分岐が出来ました(^o^)