Home » ExcelVBA Rangeオブジェクト » コメント » コメントの挿入されているセルをループ処理するExcelマクロ

コメントの挿入されているセルをループ処理するExcelマクロ

対象:Excel2007, Excel2010, Excel2013, Windows版Excel2016

コメントの挿入されているセルをループ処理するExcelマクロ

「excel vba コメントをつけたセル for」
という検索で、このサイト・インストラクターのネタ帳へのアクセスがありました。

VBA(Visual Basic for Applications)で、コメントの挿入されているセルだけをループ処理するには、どのようなコードを書けばいいのかを探している方による検索です。

[スポンサードリンク]

コメントの挿入されているセルをループ処理するサンプルマクロ

以下のようなFor Each~Nextループで、コメントの挿入されているセルだけをループ処理することができます。
Sub コメントの挿入されているセルをループ処理する()
 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オブジェクトを取得して、そのセル番地を取得しています。

エラートラップ入りのサンプルマクロ

上記のマクロでは、コメントの挿入されているセルが存在しないときに実行時エラーが発生します。

エラートラップを入れるなら以下のようなマクロです。

Sub コメントの挿入されているセルをループ処理する_エラートラップあり()
 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マクロ

Copyright © インストラクターのネタ帳 All Rights Reserved.

.