シート上の全てのコメントを抽出する方法を紹介します。また、削除する方法も合わせて紹介します。EXCELを相手に送付する際、内部コメントを削除せずに送付しないためにも重要な処理になります。
SpecialCells関数で解決する
SpecialCells関数は、特定の条件に該当するセルを抽出することができます。特定の条件は、引数で指定します。指定できる引数は以下となります。
xlCellTypeAllFormatConditions | 表示形式が設定されているセル |
xlCellTypeAllValidation | 条件の設定が含まれているセル |
xlCellTypeBlanks | 空白セル |
xlCellTypeComments | コメントが含まれているセル |
xlCellTypeConstants | 定数が含まれているセル |
xlCellTypeFormulas | 数式が含まれているセル |
xlCellTypeLastCell | 使われたセル範囲内の最後のセル |
xlCellTypeSameFormatConditions | 同じ表示形式が設定されているセル |
xlCellTypeSameValidation | 同じ条件の設定が含まれているセル |
xlCellTypeVisible | すべての可視セル |
サンプルプログラムを確認する(コピペOK)
サンプルプログラムではSpecialCellsでコメントを含むセルを抽出し、Selectで選択状態とします。その後、For Each分にてSelectionをループ処理することで、コメントを含むセル全てにアクセスしています。
Sub sample()
Dim r As Range
On Error Resume Next ' コメントが1つも無い場合はエラーとなるため
Cells.SpecialCells(xlCellTypeComments).Select
For Each r In Selection
Debug.Print r.Comment.Text ' コメント内容を出力する
r.Comment.Delete ' コメントを削除する
Next
End Sub