ExcelのVBAでスレッド形式のコメントに返信が何個あるか数える方法の記録です。
スレッド形式のコメントを数えるには、「CommentThreaded」オブジェクトの「Replies」プロパティの「Count」プロパティを使います。
< スポンサーリンク >
「Replies」プロパティ構文
このコメントが親の場合は、指定されたコメントの子/返信であるCommentThreadedオブジェクトのCommentsThreadedコレクション(存在する場合)を返します。
返信はタイムスタンプで並べ替えられます。
このコメントが子/返信またはレガシコメントの場合は、空のコレクションを返します。
CommentThreaded.Replies
スレッド形式コメントの返信の数を数える方法
B2、D2、C3にスレッド形式のコメントが入っています。
返信は、B2とC3に入っています。
セルを指定してコメントの返信の数を数える
B2のセルのコメントの返信の数をメッセージで表示してみます。
Sub test()
MsgBox Range("B2").CommentThreaded.Replies.Count
End Sub
返信の数がメッセージで表示されました。
シート全体のコメントの返信の数を1つずつ調べる
アクティブシートのコメントの返信の数をSheet2に入力します。
Sub test()
'コメントの数用
Dim cnt As Long
'ループ用
Dim i As Long
'Sheet2用
Dim ws2 As Worksheet
'Sheet2を変数にセット
Set ws2 = Worksheets("Sheet2")
'アクティブシートのコメントの数を取得
cnt = ActiveSheet.CommentsThreaded.Count
With ActiveSheet
'コメントの数だけループ
For i = 1 To cnt
'コメントのセル番地と返信の数をSheet2に出力
ws2.Cells(i, 1).Value = _
.CommentsThreaded(i).Parent.Address(False, False)
ws2.Cells(i, 2).Value = _
.CommentsThreaded(i).Replies.Count
Next i
End With
End Sub
Sheet2にコメントの返信の数入力されました。
こんな記事も書いています