Для поиска по значению одной отдельной ячейки необходимо использовать функцию InStr
If InStr(1, Range("A1").Value, "John", vbTextCompare) > 0 Then
'John was found
Else
'John was not found
End If
InStr
, которая возвращает позицию first где John
был найден в значении ячейки A1, поэтому, если он возвращает число > 0
, в противном случае он не был найден.
В качестве альтернативы вы можете использовать оператор Like :
If Range("A1").Value Like "*John*" Then
'John was found
Else
'John was not found
End If
Обратите внимание на окружающие заполнители (*
звездочки), чтобы аналогичный оператор распознал John
в "any string that conains John in the begining middele or end of the string"