| Функция InStrInStr([Start,]String1,String2[,Compare])InStrB([Start,]String1,String2[,Compare])
 Функция InStr(In String) служит для поиска номера символа(номера байта для InStrB), с которого начинается в заданной строке образец поиска. Поиск идет от указанной позиции слева направо. Поиск вхождения одной строки в другую весьма часто используемая операция. Нумерация символов всегда начинается с единицы Примечание В функции InStr при очень длинных строках при текстовом методе сравнения, возможно возникновение ошибки времени исполнения Stack overflow. Избежать этой ошибки можно, переведя исходную строку и образец в один регистр и перейдя на бинарное сравнение Возвращаемое значение Возвращает значение типа Variant(Long), указывающее позицию первого появления одной строки внутри другой Перечень возвращаемых значений 
 
 
 | Вариант | Значение, возвращаемое функцией InStr |  
 | String1 имеет нулевую длину | 0 |  
 | String1 имеет значение Null | Null |  
 | String2 имеет нулевую длину | Start |  
 | String2 имеет значение Null | Null |  
 | String2 не найдена | 0 |  
 | String2 найдена внутри String1 | Позиция, в которой обнаружено совпадение |  
 | Start > String2 | 0 |  Параметры
 
 
 
 | Элемент | Описание |  
 | Start | Необязательный. Числовое выражение, которое задает первую позицию для каждого поиска. Если параметр опущен, поиск начинается с позиции первого символа. В том случае, когда значение параметра Start равно Null, возникает ошибка. Параметр Start является обязательным, если задан параметр Compare |  
 | String1 | Обязательный. Строковое выражение,в котором ведется поиск |  
 | String2 | Обязательный. Отыскиваемое строковое выражение |  
 | Compare | Необязательный. Задает тип сравнения для строк. Если значение параметра Compare равно Null, возникает ошибка. В том случае, когда параметр Compare опущен,тип сравнения определяется установками оператора Option Compare |  Установки
 Для параметра Compare используются следующие установки: 
 
 
 | Константа | Значение | Описание |  
 | vbUseCompareOption | -1 | Сравнение выполняется с использованием установок для оператора Option Compare |  
 | vbBinaryCompare | 0 | Выполняется побитовое сравнение |  
 | vbTextCompare | 1 | Выполняется текстовое сравнение |  
 | vbDatabaseCompare | 2 | Только для Microsoft Access. Сравнение выполняется с применением сведений из базы данных пользователя |  Пример
 
' В данном примере функция InStr
' возвращает позицию первого появления
' одной строки внутри другой строки
Dim SearchString, SearchChar, MyPos
SearchString ="Мир MS Excel" ' Исходная строка
SearchChar = "р"  ' Следует найти "р"
' Посимвольное сравнение, начиная с позиции 2. Возвращает 2
MyPos = Instr(2, SearchString, SearchChar, vbTextCompare) 
' Двоичное сравнение, начиная с позиции 1. Возвращает 3
MyPos = Instr(1, SearchString, SearchChar, 0)
' Сравнение является двоичным по умолчанию (последний аргумент опущен)
MyPos = Instr(SearchString, SearchChar)  ' Возвращает 3
MyPos = Instr(1, SearchString, "W")  ' Возвращает 0 КатегорияФункции обработки строк
 |