セルにコメントを追加する
Excelで利用するコメントですが、VBAでの追加ももちろん行うことが出来ます。さらに、VBAを利用すると特殊なコメントの設定も行うことが出来ます。
セルにコメントを追加するにはAddCommentメソッドを利用します。
コメント追加後に各種プロパティでコメントの見た目などを変更することが出来ます。
コメント追加(AddCommentメソッド)の構文
1 |
Rangeオブジェクト.AddComment(Text) |
項目 | 説明 |
---|---|
Rangeオブジェクト | 基点となる単一セルまたはセル範囲をRangeオブジェクトで指定します。 |
Text | 省略可能です。コメントに表示する文字列を指定します。省略時は何も表示されません。 |
戻り値 | 追加したコメントのCommentオブジェクトを返却します。 |
コメント追加のサンプルコード
以下のコードはA1セルにひし形のコメントを追加します。追加後にフォントの設定も行っています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Sub AddCommentTest() Dim cmt As Comment '// 追加するコメントのオブジェクト変数 '// A1セルにコメントを追加し"abc"と表示 Set cmt = Range("A1").AddComment(Text:="abc") '// 文字をABCに変更 Call cmt.Text("ABC") '// コメントを表示する cmt.Visible = True '// コメントの形をひし形に設定 cmt.shape.AutoShapeType = msoShapeDiamond '// 文字列の形式設定 With cmt.shape.TextFrame.Characters.Font .Name = "MS ゴシック" .FontStyle = "標準" .size = 11 End With End Sub |
コメントを削除する
コメントの削除には2通りの方法があり、ClearCommentsメソッドかComment.Deleteメソッドのどちらかを利用します。
それぞれ用途が異なります。
ClearCommentsメソッドはセル範囲のコメントを全て消去したい場合に利用します。
Comment.Deleteメソッドは単一セルでのコメント消去に利用します。ある条件に一致するコメントのみを消去したい場合はこちらを利用します。
コメント削除(ClearCommentsメソッド、Comment.Deleteメソッド)の構文
ClearCommentsメソッド
1 |
Rangeオブジェクト.ClearComments |
Rangeオブジェクトには、削除対象の単一セルまたはセル範囲をRangeオブジェクトで指定します。
Comment.Deleteメソッド
1 |
Rangeオブジェクト.Commentオブジェクト.Delete |
Rangeオブジェクトには、削除対象の単一セルをRangeオブジェクトで指定します。複数セルの指定してComment.Deleteメソッドを実行した場合はエラー91が発生します。
コメント削除のサンプルコード
ClearCommentsメソッド
ClearCommentsメソッドは複数のセルを指定して一括してコメントを消去することが出来ます。指定したセル範囲にコメントが含まれていない場合でもエラーになりません。
1 2 3 4 5 6 7 |
Sub ClearCommentsTest() Dim r As Range Set r = Range("A1:B3") r.ClearComments End Sub |
Comment.Deleteメソッド
Comment.Deleteメソッドは指定した単一セルのコメントを消去します。複数のセルのコメントを同時に消去できません。
また、コメントがないセルからコメントを消去しようとするとエラー91が発生します。
それを回避するために8行目でコメントかどうかの判定を行い、コメントであれば9行目のコメント削除を行っています。
1 2 3 4 5 6 7 8 9 10 11 12 |
Sub CommentDeleteTest() Dim rSelection As Range Dim r As Range Set rSelection = Range("A1:A3") For Each r In rSelection If (TypeName(r.Comment) = "Comment") Then r.Comment.Delete End If Next End Sub |