文字列が含まれているかどうかを検索する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
以上