Excel のスレッドコメント(新しいコメント)は、Microsoft 365 や Excel 2019 以降で導入されたチャット形式のコメント機能です。
VBAを使えば、既に追加されたスレッドコメントの内容をプログラムから更新することも可能です。
この記事では、スレッドコメントの内容を更新する方法に加え、編集権限がない場合の対応方法についても丁寧に解説いたします。
目次
スレッドコメントとは?
- VBAでは 
CommentThreadedプロパティを使用して操作 - 旧コメント(Comment)とは異なり、複数ユーザーが返信可能
 - Office 365 環境など、ログインユーザーごとに編集可否が分かれることがある
 
VBAコード:スレッドコメントの内容を更新する
Sub UpdateThreadedComment()
    Dim targetCell As Range
    Set targetCell = Range("E3")
    
    On Error Resume Next
    targetCell.CommentThreaded.Text "このコメントは更新されました"
    
    If Err.Number <> 0 Then
        MsgBox "現在のユーザーではコメントの編集権限がありません"
    End If
    On Error GoTo 0
End Sub
コードの解説
| 処理内容 | 説明 | 
|---|---|
Range("E3") | コメントを更新する対象のセル | 
.CommentThreaded.Text | スレッドコメントの内容を更新 | 
On Error Resume Next | 編集できない場合に備えたエラー回避 | 
Err.Number チェック | 編集権限がない場合のメッセージ出力 | 
編集できない場合の考えられる原因
- コメントが他のユーザーによって作成されている
 - 使用中のExcelがMicrosoft 365にログインしていない
 - Excelバージョンが古い(Excel 2016以前)
 
実務での使用例
- 自動レポートの更新時に、前回記録のコメントを置き換えたい
 - 入力チェック時に、コメント内容を自動で修正したい
 - フォームに合わせてメモの説明文を自動変更したい
 
まとめ|スレッドコメントの更新もVBAで柔軟に対応可能
VBAでは、スレッドコメントの内容を直接書き換えることが可能です。ただし、Officeのユーザー設定や権限により、編集できない場合もあるため、On Error Resume Next などで安全に処理を行うことが重要です。
特に共同作業が多い環境では、VBAでのコメント更新処理を自動化することで、業務の効率化が図れます。
