「excel vba コメントをつけたセル for」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。
VBA(Visual Basic for Applications)で、コメントの挿入されているセルだけをループ処理するには、どのようなコードを書けばいいのかを探している方による検索です。
コメントの挿入されているセルをループ処理するサンプルマクロ
以下のようなFor Each~Nextループで、コメントの挿入されているセルだけをループ処理することができます。Dim rng As Range
For Each rng In Cells.SpecialCells(xlCellTypeComments)
MsgBox rng.Address
Next rng
End Sub
上記のマクロを実行すると、アクティブシート上のコメントの存在するセルのアドレスが、順番にメッセージボックスへ表示されます。
「Cells.SpecialCells(xlCellTypeComments)」というオブジェクト式で、コメントの含まれるセルを表すコレクションとしてのRangeオブジェクトが取得できるので、For Each~Nextループで個々のRangeオブジェクトを取得して、そのセル番地を取得しています。
エラートラップ入りのサンプルマクロ
上記のマクロでは、コメントの挿入されているセルが存在しないときに実行時エラーが発生します。
エラートラップを入れるなら以下のようなマクロです。
On Error GoTo ERR_HNDL
Dim rng As Range
For Each rng In Cells.SpecialCells(xlCellTypeComments)
MsgBox rng.Address
Next rng
Exit Sub
ERR_HNDL:Err.Clear
MsgBox "コメントの挿入されているセルはありません。"
End Sub
Home » ExcelVBA Rangeオブジェクト » コメント » コメントの挿入されているセルをループ処理するExcelマクロ
TrackBack:0
- TrackBack URL