文字列が含まれているかどうかを検索するVBA


文字列が含まれるかを返す"InStr"関数


"InStr"を使用することで、対象セルにターゲットの文字列が含まれる場合には、見つかった位置を返し、文字列が見つからなかった場合には0を返します。

InStr(Worksheets(sheet_name).Cells(row0, col0), target) <> 0





文字列検索VBAの例


以下、最大行数と最大列を取得して、ターゲットとなる文字列を含むセルを探索するコードです。

VBA:
Sub SEARCH()
    Application.ScreenUpdating = False  ' 画面更新停止 '
    Application.ReferenceStyle = xlR1C1 ' 参照形式へ変更 '
    ThisWorkbook.Activate
    
    Dim col0 As Long
    Dim row0 As Long
    Dim max_row As Long
    Dim max_col As Long
    Dim target  As Long
    ' 最大行取得 '
    max_row = Worksheets(sheet_name).Cells(Rows.Count, 2).End(xlUp).Row
    ' 最大列取得 '
    max_col = Worksheets(sheet_name).Cells(2, Columns.Count).End(xlToLeft).Column

    For row0 = 1 To max_row
        For col0 = 1 To max_col
            ' 文字列検索 '
            If (InStr(Worksheets(sheet_name).Cells(row0, col0), target) <> 0) Then
                ' 一致する文字列が含まれるときの処理 '
            End If
        Next col0
    Next row0

    Application.ScreenUpdating = True ' 画面更新再開 '
End Sub

以上

このエントリーをはてなブックマークに追加
コメントを閉じる

コメント

コメントフォーム
記事の評価
  • リセット
  • リセット