Excel では、従来のコメントに加えて「スレッドコメント(新しいコメント)」機能が導入されており、複数の返信が可能なチャット形式のコメントが使用できます。
本記事では、VBAを使ってスレッドコメントに返信を追加する方法と、その返信内容を取得する方法について丁寧に解説いたします。
目次
スレッドコメントとは?
- Excel 2019 や Microsoft 365 で利用可能な「新しいコメント」
.CommentThreaded
プロパティで操作- 従来の
.Comment
とは異なり、複数の返信が可能
VBAでスレッドコメントに返信を追加する方法
Sub AddReplyToComment()
Dim targetCell As Range
Set targetCell = Range("C5")
If Not targetCell.CommentThreaded Is Nothing Then
targetCell.CommentThreaded.AddReply "このコメントに対する返信を追加しました"
Else
MsgBox "対象セルにはスレッドコメントが存在しません"
End If
End Sub
このコードは、セル C5 にスレッドコメントが存在する場合、そのコメントに対して返信を追加する処理を行います。
追加された返信の内容を取得する方法
Sub ReadFirstReply()
Dim replyText As String
replyText = Range("C5").CommentThreaded.Replies(1).Text
MsgBox "最初の返信:" & replyText
End Sub
このコードでは、最初の返信内容(Replies(1))を読み取り、メッセージボックスで表示します。
使用上の注意点
注意点 | 説明 |
---|---|
.CommentThreaded が Nothing の場合 | コメントがない状態。先に AddCommentThreaded で作成が必要 |
.Replies(1) へのアクセス | 存在しないとエラーになるため、エラートラップ推奨 |
Officeアカウント制限 | 編集・返信が可能なのは作成者本人または許可ユーザーのみ |
実務での使用例
- 担当者に向けた確認メッセージを自動挿入
- マクロ処理後に「結果の確認をお願いします」等の返信を追加
- コメントへのフィードバックを自動記録
まとめ|スレッドコメントの返信操作もVBAで自動化可能
VBAを使えば、スレッドコメントへの返信追加や返信内容の読み取りも可能です。特にチーム作業が多いExcel業務では、自動返信処理によって確認や連絡の見落としを防ぐことができます。
Officeのバージョンやログイン状況によっては制限がある場合もあるため、エラー処理を取り入れながら、安全に活用することをおすすめいたします。