Определение первого вхождения одной строки в другую, начиная с конца строки, с помощью функции InStrRev (VBA Excel). Синтаксис, параметры, примеры.
Функция InStrRev
InStrRev – это функция, которая предназначена для определения номера позиции первого вхождения одной строки в другую, начиная с конца исходной строки.
Для поиска первого вхождения одной строки в другую с начала исходной строки используется функция InStr.
Функция InStrRev может быть незаменима при определении параметров функций Left, Mid и Right.
Синтаксис, параметры, значения
Синтаксис функции InStrRev
1 |
InstrRev(stringcheck, stringmatch, [start], [compare]) |
Параметры функции InStrRev
Параметр | Описание | Значение по умолчанию |
---|---|---|
stringcheck | Обязательный аргумент. Строковое выражение, в котором выполняется поиск. | – |
stringmatch | Обязательный аргумент. Строковое выражение, которое необходимо найти. | – |
start | Необязательный аргумент. Числовое выражение, которое задает начальную позицию для поиска. | -1* |
compare | Необязательный аргумент. Задает тип сравнения строк. | 0 |
* Значение «-1» задает начало поиска с позиции последнего символа. Если параметр start содержит значение NULL, возникает ошибка.
Значения аргумента «compare»
Константа | Значение | Описание |
---|---|---|
vbUseCompareOption | -1 | Сравнение с помощью параметра инструкции Option Compare. |
vbBinaryCompare | 0 | Двоичное (бинарное) сравнение.* |
vbTextCompare | 1 | Текстовое сравнение.* |
vbDatabaseCompare | 2 | Сравнение на основе сведений из базы данных. Только для Microsoft Access. |
* При двоичном сравнении учитывается регистр букв, при текстовом – не учитывается.
Значения функции InStrRev
Если | Возвращаемое значение |
---|---|
длина stringcheck равна 0 | 0 |
значение stringcheck равно Null | Null |
длина stringmatch равна 0 | start |
значение stringmatch равно Null | Null |
аргумент stringmatch не найден в аргументе stringcheck | 0 |
аргумент stringmatch найден в аргументе stringcheck | позиция первого символа найденного совпадения |
start больше длины stringcheck | 0 |
Примеры использования в VBA Excel
Пример 1
Самый простой пример:
1 2 3 4 5 6 7 |
Sub Primer1() Dim x x = InStrRev("болото, плот, оплот", "лот") MsgBox x 'Результат: 17 x = InStrRev("болото, плот, оплот", "лото") MsgBox x 'Результат: 3 End Sub |
Пример 2
Пример с использованием аргумента «compare»:
1 2 3 4 5 6 7 |
Sub Primer2() Dim x x = InStrRev("Болото, Плот, Оплот", "Плот") MsgBox x 'Результат: 9 x = InStrRev("Болото, Плот, Оплот", "Плот", , 1) MsgBox x 'Результат: 16 End Sub |
Пример 3
Извлечение краткого имени файла из полного имени:
1 2 3 4 5 6 7 |
Sub Primer3() Dim s, x s = "C:\Users\Evgeniy\Desktop\Таймер.exe" x = InStrRev(s, "\") s = Mid(s, x + 1) MsgBox s 'Результат: Таймер.exe End Sub |
Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.