Home » ExcelVBA Rangeオブジェクト » コメント » VBAでコメントの存在するセルを取得する

VBAでコメントの存在するセルを取得する

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

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

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

[スポンサードリンク]

コメントが挿入されているセルだけを選択するサンプルマクロ

「コメントが入っているセル」を取得してどうしたかったのかまでは、この検索キーワードではわかりませんので、簡単なマクロをご紹介しておきます。
Sub コメントの存在するセルを選択する()
 Cells.SpecialCells(xlCellTypeComments).Select
End Sub

上記のマクロを実行すると、アクティブなワークシートでコメントの存在するセルを選択することができます。

サンプルマクロの解説

RangeオブジェクトのSpecialCellsメソッドの引数に、

VBAでコメントの存在するセルを取得する

XLCellType列挙に定義されている定数・xlCellTypeCommentsを指定すると、

VBAでコメントの存在するセルを取得する

アクティブなワークシート上の全セルの中から、コメントの挿入されているセルを表すRangeオブジェクトが取得できます。

この「Cells.SpecialCells(xlCellTypeComments)」というオブジェクト式で取得したRangeオブジェクトのSelectメソッドで、選択を行っているのが上記のマクロです。

なお、[ホーム]タブ−[編集]グループ−[検索と置換]ボタン-[コメント]や、ショートカットキー[Ctrl]+[Shift]+[O]などで、コメントの挿入されているセルを選択することができます。

これらの操作をマクロ記録すると、
 Selection.SpecialCells(xlCellTypeComments).Select
というコードが自動的に作られます。

この、
 Selection.SpecialCells(xlCellTypeComments).Select
というコードの場合、セル範囲が選択されているときには、その選択範囲内でコメントの存在するセルだけが選択されます。

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

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

実行時エラーを回避するには、以下のようなマクロです。

Sub コメントの存在するセルを選択する_エラートラップあり()
 On Error GoTo ERR_HNDL
 Cells.SpecialCells(xlCellTypeComments).Select
 Exit Sub

ERR_HNDL:
 Err.Clear
 MsgBox "コメントの挿入されているセルがありません。"

End Sub
[スポンサードリンク]

Home » ExcelVBA Rangeオブジェクト » コメント » VBAでコメントの存在するセルを取得する

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

.