Excelの「スレッドコメント(新しいコメント)」は、複数のユーザーがやり取りできる形式のコメント機能です。
本記事では、VBAを使ってスレッドコメントの内容を確認し、指定された作成者のコメントのみを削除する方法について、実用的なコード例とともに解説いたします。
目次
スレッドコメントの基本構造
スレッドコメントは、従来の .Comment
とは異なり、CommentThreaded
プロパティで管理されます。
このプロパティからは、下記の情報が取得できます。
- コメントの対象セル(
.Parent
) - 作成者名(
.Author.Name
) - コメント本文(
.Text
)
VBAでスレッドコメントの詳細を確認する
まずは、アクティブセルに紐づくスレッドコメントの詳細を確認するコードをご紹介いたします。
With Range("C3").CommentThreaded
Debug.Print "アドレス:" & .Parent.Address
Debug.Print "作成者:" & .Author.Name
Debug.Print "コメント内容:" & .Text
End With
実行すると、「イミディエイトウィンドウ」に対象セルのアドレス、作成者名、コメントの内容が表示されます。
指定した作成者のコメントだけを削除する
たとえば、作成者が「森 林男」の場合のみ削除したいというケースでは、次のような処理を記述します。
If Range("C3").CommentThreaded.Author.Name = "森 林男" Then
Range("C3").CommentThreaded.Delete
End If
コメントが存在しない場合や、作成者が異なる場合は処理が行われません。
実務での使用例
使用シーン | 処理内容 |
---|---|
特定ユーザーのコメントを一括削除 | 作成者名で判定し削除 |
コメント確認後、自動削除 | 内容や対象セルで条件分岐 |
マクロによる定期的なメンテナンス | コメント一覧出力+削除 |
注意点と補足
項目 | 内容 |
---|---|
Office 365 専用機能 | .CommentThreaded は Excel 2019 以降対応 |
権限の制限あり | コメントの作成者以外は削除できないことがあります |
エラー処理推奨 | コメントが存在しない場合に備えて On Error を使うと安全です |
まとめ|VBAでスレッドコメントの削除も自動化できる
スレッドコメントは Excel の共同作業で便利な機能ですが、内容の整理や不要なコメントの削除が必要になる場面も多くあります。
VBAを使えば、作成者を確認しながら削除処理を自動化でき、作業の効率化や管理精度の向上に貢献できます。
エラー対策を含めた安全な処理を心がけることで、スクリプトの信頼性も高まります。