Excel VBAでスレッド形式のコメントがどのセルにあるのか、セル番地を調べる方法の記録です。
どのセルにあるのかを調べるには「CommentsThreaded」オブジェクトの「Parent」プロパティ、「Address」プロパティを使います。
< スポンサーリンク >
「Parent」プロパティ構文
指定されたオブジェクトの親オブジェクトを返します。読み取り専用です。
CommentsThreadedオブジェクト.Parent
▼▼ 「Address」プロパティはこちら ▼▼
>> Excel VBAでセルの番地(アドレス)を絶対参照、相対参照で取得する-Address
ExcelでVBAを使っていると、A1やB1などのセル番地を取得して操作したいことが頻繁にありますよね。 セル番地の取得は「Address」プロパティを使います。 アクティブなセルのセル番地を取得する A1をアクティブに …
スレッド形式のコメントがあるセル番地を調べる方法
B2、D2、C3にスレッド形式のコメントが入っています。
1つ目のコメントのセル番地を調べる
シート上の1つ目のコメントのセル番地をメッセージで表示してみます。
Sub test()
MsgBox ActiveSheet.CommentsThreaded(1).Parent.Address(False, False)
End Sub
シート上の1つ目のコメントのセル番地がメッセージで表示されました。
シート全体のコメントのセル番地を調べる
アクティブシートのコメントのセル番地をSheet2に入力します。
Sub test()
'コメントの数用
Dim cnt As Long
'ループ用
Dim i As Long
'アクティブシートのコメントの数を取得
cnt = ActiveSheet.CommentsThreaded.Count
With ActiveSheet
'コメントの数だけループ
For i = 1 To cnt
'コメントのセル番地(相対参照)をSheet2に出力
Worksheets("Sheet2").Cells(i, 1).Value = _
.CommentsThreaded(i).Parent.Address(False, False)
Next i
End With
End Sub
Sheet2にコメントがついているセル番地が入力されました。
こんな記事も書いています