Excel VBA スレッド形式のコメントに返信が何個あるか数える-Replies.Count

ExcelVBAスレッド形式コメントに返信が何個あるか数える方法の記録です。

スレッド形式のコメントを数えるには、「CommentThreaded」オブジェクトの「Replies」プロパティの「Count」プロパティを使います。

< スポンサーリンク >





「Replies」プロパティ構文

このコメントが親の場合は、指定されたコメントの子/返信であるCommentThreadedオブジェクトのCommentsThreadedコレクション(存在する場合)を返します。

返信はタイムスタンプで並べ替えられます。

このコメントが子/返信またはレガシコメントの場合は、空のコレクションを返します。

CommentThreaded.Replies

スレッド形式コメントの返信の数を数える方法

B2、D2、C3にスレッド形式のコメントが入っています。

返信は、B2とC3に入っています。

B2、D2、C3にスレッド形式のコメントが入っています

セルを指定してコメントの返信の数を数える

B2のセルのコメントの返信の数をメッセージで表示してみます。

Sub test()
  MsgBox Range("B2").CommentThreaded.Replies.Count
End Sub
VBA CommentThreaded.Replies.Count

返信の数がメッセージで表示されました。

返信の数がメッセージで表示されました。

シート全体のコメントの返信の数を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
VBA CommentsThreaded(i).Replies.Count

Sheet2にコメントの返信の数入力されました。

Sheet2にコメントの返信の数入力されました

< スポンサーリンク >※広告先のお問い合わせは広告主様にお願いします