【VBA入門】スレッドコメントの内容を更新する方法|編集権限がない場合の対処も解説

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でのコメント更新処理を自動化することで、業務の効率化が図れます。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次