今回は、セルにコメント(メモ)を追加する方法について解説します。
コメント追加時に発生する可能性があるエラーについての回避方法などを、サンプルコードを用いて掲載しています。
ぜひ最後までお付き合いください!
- セルにコメント(メモ)を追加する方法が分かります。
- コメント追加時に発生するエラーの条件と、回避方法も併せて紹介しています。
- コピペで使える実践的なサンプルコードを掲載しています。
前提
コメントの定義
本記事で紹介するコメントについて、
Microsoft 365では「メモ」、それ以外では「コメント」と呼ばれるものを指します。
具体的には以下です。
基本情報
AddCommentメソッド
セルにコメントを追加するには、RangeオブジェクトのAddCommentメソッドを使用します。
Range(“A1”).AddComment Text
引数
- Text … コメントに挿入したい文字列
既にコメントが入っているセルに対して「AddComment」メソッドを実行するとエラーとなってしまいます。
具体的な対処法として、コメントの存在チェックを実施する必要があります。後述する以下を参考としてください。
・基本情報 – コメントの存在チェック
・サンプルコード – セルにコメントを追加する(エラー回避)
コメントの存在チェック
セルにコメントが挿入されているかを確認する際には、TypeName関数を使用します。
以下のように、TypeName関数にRangeオブジェクトのCommentプロパティを指定すると、「Comment」という固定値が返却されるため、判断可能です。
Public Sub checkComment()
If TypeName(Range("A1").Comment) = "Comment" Then
MsgBox "コメントが存在します。"
End If
End Sub
存在チェックを実施し、エラーを回避しながらコメントを追加する方法を、サンプルコード にて紹介しています。
コメントを常に表示状態で追加する
コメントの表示・非表示を切り替えるには、CommentオブジェクトのVisibleプロパティを使用します。
AddCommentメソッド使用時にVisibleプロパティを使用するには、以下のように記載します。
Public Sub addCommentForVisible()
' A1セルに コメントを表示状態で追加する
With Range("A1").addComment("コメント")
.Visible = True
End With
End Sub
サンプルコード
セルにコメントを非表示で追加する
A1セルにコメントを非表示状態で追加します。
Public Sub addComment()
' A1セルに コメントを追加する
Range("A1").Comment.Text "コメント"
End Sub
セルにコメントを表示状態で追加する
A1セルにコメントを表示状態で追加します。
Public Sub addComment()
' A1セルに コメントを追加する
With Range("A1").addComment("コメント")
.Visible = True
End With
End Sub
セルにコメントを追加する(エラー回避)
セルにコメントが既に存在する場合、AddCommentメソッドを実行するとエラーとなってしまいます。
既にコメントが存在している場合は編集、存在していない場合は追加するサンプルコードです。
Public Sub setComment()
Dim commentStr As String
' コメントに指定する文字列
commentStr = "コメント"
' コメントの存在チェック
If TypeName(Range("A1").Comment) = "Comment" Then
' セルにコメントが既に存在する場合、編集する
Range("A1").Comment.Text commentStr
Else
' セルにコメントが存在しない場合、追加する
Range("A1").AddComment commentStr
End If
End Sub
コメントは非表示で追加されます。
表示状態で追加する場合は、以下を参考にコーディングしてください。
セルにコメントを表示状態で追加する
複数のセルにコメントを追加する(汎用化)
先述したコメントの追加方法では冗長になってしまいます。
複数のセルにコメントを追加する場合には、プロシージャ化がオススメです!
Public Sub main()
' A1セルにコメントを追加
Call addComment(Range("A1"), "ここはA1セルです")
' A2セルにコメントを追加
Call addComment(Range("A2"), "ここはA2セルです")
End Sub
Private Sub setComment(ByVal rngObj As Range, ByVal commentStr As String)
' コメントの存在チェック
If TypeName(rngObj.comment) = "Comment" Then
' コメントが既に存在する場合、編集する
rngObj.comment.Text commentStr
Else
' コメントが既に存在する場合、追加する
rngObj.addComment commentStr
End If
End Sub
最後に
今回は、セルにコメントを追加する方法について解説しました。
本記事が皆さんのお力になれば幸いです!
コメント