【VBA入門】セルのメモ内に含まれる文字列を一括検索して色付けする方法

Excel VBAでは、セルに付けられた**メモ(旧コメント)**の中身を検索し、特定のキーワードが含まれる場合に処理を行うことができます。
この記事では、範囲内のすべてのメモから文字列を検索し、該当セルを自動で色付けする方法をご紹介いたします。


目次

VBAコード:メモに含まれる文字列を検索して該当セルを強調表示

Sub HighlightCellsWithCommentKeyword()
    Dim targetCell As Range
    Dim commentRange As Range
    Dim keyword As String

    keyword = "森"  ' 検索したい文字列

    On Error Resume Next
    Set commentRange = Range("B2:F8").SpecialCells(xlCellTypeComments)
    On Error GoTo 0

    If commentRange Is Nothing Then
        MsgBox "指定範囲にはメモが存在しません。"
        Exit Sub
    End If

    For Each targetCell In commentRange
        If InStr(targetCell.Comment.Text, keyword) > 0 Then
            targetCell.Interior.ColorIndex = 6  ' 黄色で強調表示
        End If
    Next targetCell
End Sub

コードの解説

処理内容説明
SpecialCells(xlCellTypeComments)メモのあるセルだけを取得
InStr(文字列, 検索語)特定文字列が含まれているかを調べる
Interior.ColorIndexセルの背景色を変更(6は黄色)
On Error Resume Nextメモが1件もない場合のエラー回避

応用ポイント

  • keyword を変数にしているため、他の語句(例:「確認」「修正」「対応済」など)に簡単に変更できます。
  • 検索対象範囲は Range("B2:F8") で指定しており、必要に応じて任意の範囲に変更できます。
  • ColorIndex の値を変更すれば、塗りつぶす色も自由に変更可能です。

使用例

  • 「森」さんに関するメモだけを見つけたい
  • 「要確認」などのキーワードが含まれるメモ付きセルを強調表示したい
  • メモの内容に応じて処理を分岐させたい場合の下準備として

まとめ|メモの内容もVBAで検索・可視化できる

Excel VBAを用いれば、通常は目視で確認するしかないメモ(コメント)内の情報も、条件付きで一括検索・処理が可能です。
今回の方法を応用すれば、メモのキーワードに応じて以下のような処理も実現できます。

  • セルの強調表示(色付け)
  • メモの内容を一覧表として抽出
  • 対象メモの修正や削除

日常的な業務でExcelコメントを多用する場面では、非常に有効なテクニックとなります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次