1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | Для того, чтобы определить позицию появления одной строки внутри другой можно применить Basic функцию InStr, однако, если при поиске необходимо использовать символы подстановки ? и *, то в таком случае Вы можете воспользоваться стандартной функцией рабочего листа ПОИСК/Search iText$ = "Текст, в котором нам необходимо найти барона Врангеля [ 1878 - 1928 ]" iResult = Application . Search("Вр?нгел", iText$) If Not IsError(iResult) Then MsgBox "Текст начинается с позиции# " & iResult, , "" Else MsgBox "Искомый текст не найден", , "" End If iText$ = "Текст, в котором нам необходимо найти капитана Врунгеля" iResult = Application . Search("Вр?нгел", iText$) If IsNumeric(iResult) = True Then MsgBox "Текст начинается с позиции# " & iResult, , "" Else MsgBox "Искомый текст не найден", , "" End If iText$ = "Текст, где вроде бы есть барон Мюнхгаузен" If iText$ Like "*Мюнх*аузен*" Then MsgBox "Текст начинается с позиции# " & _ WorksheetFunction . Search("Мюнх*аузен", iText$), , "" Else MsgBox "Искомый текст не найден", , "" End If Примечание: Максимально допустимое количество символов в строке не должно превышать 32767 По умолчанию поиск начинается с первого символа, однако, это легко исправить, если использовать третий(необязательный) аргумент функции, например, Application . Search("Текст", "Внутр_текста", 5 ) Если нет необходимости в определении позиции вхождения, то для определения наличия искомой строки, достаточно всего лишь использовать оператор Like |