← コード一覧へ戻る
基本コメント

複数のコメント内を検索する

A1:A20にあるメモを1つずつ調べ、検索語を含むものをすべて出力します。

実行前に確認

  • 対象は旧形式コメント(メモ)です。現在のスレッド形式コメントは含みません。

1サンプルコード

Sub Example1164()
    Dim ws As Worksheet
    Dim c As Range
    Dim n As Long
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    For Each c In ws.Range("A1:A20").Cells
        If Not c.Comment Is Nothing Then
            If InStr(1, c.Comment.Text, "確認", vbTextCompare) > 0 Then
                Debug.Print c.Address, c.Comment.Text
                n = n + 1
            End If
        End If
    Next c
    MsgBox n & "件見つかりました。"
End Sub
表で見る処理のイメージ実行前・実行後のセルを見比べる

セルの値ではなく、旧形式コメント(メモ)を検索します。

A・B・Cは列、1・2・3は行です。例えば「B2」はB列の2行目のセルです。この表は説明用のサンプルです。

実行前

実行前のサンプル。列記号と行番号でセルの位置を確認できます。
A
1商品
2りんご
3みかん
4ぶどう

実行後

実行後のサンプル。列記号と行番号でセルの位置を確認できます。
A
1商品
2りんご(注目セル)
3みかん
4ぶどう(注目セル)

色付きは注目する場所です。「—」は未入力、「(空文字)」は数式などが返す空の文字列を表します。

A2のメモ本文を「価格を確認」、A4のメモ本文を「数量を確認」とした例です。他のA1:A20に該当メモはありません。セルの値は変わりません。Debug.Printは $A$2 と「価格を確認」、$A$4 と「数量を確認」を出力。MsgBox:2件見つかりました。

使い方・実行手順を確認する4つの手順で、コードの使い方を確認できます
  1. 1

    練習用のブックを.xlsm形式で保存し、Sheet1という名前のシートを用意します。A1:A20の数セルに[新しいメモ]で「確認」入りの文を書きます。

  2. 2

    Alt+F11でVBEを開き、[挿入]→[標準モジュール]へコードを貼り付けます。

  3. 3

    確認を検索したい言葉に変えます。Ctrl+Gでイミディエイトウィンドウを表示します。

  4. 4

    マクロ内にカーソルを置いてF5で実行します。該当する全セルの番地とメモ内容が出力されます。

使っている機能の公式ドキュメント(Microsoft Learn)