Использование функции InStr в VBA
Функция InStr в языке программирования VBA (Visual Basic for Applications) предназначена для поиска подстроки внутри строки. Она возвращает номер позиции, с которой начинается подстрока в строке.
Синтаксис функции InStr
InStr([начальная_позиция], строка_где_искать, строка_которую_искать, [тип_сравнения])
начальная_позиция(опционально) - число, от которого начинается поиск. Если не указано, InStr начинает поиск с позиции 1.строка_где_искать- строка, в которой будет производиться поиск подстроки.строка_которую_искать- строка, которую мы ищем внутристрока_где_искать.тип_сравнения(опционально) - параметр, определяющий тип сравнения при поиске. Может принимать значенияvbBinaryCompareилиvbTextCompare. По умолчанию используетсяvbBinaryCompare.
Давайте рассмотрим несколько примеров использования функции InStr.
Пример 1:
В следующем примере мы будем искать подстроку "world" в строке "Hello world". Функция InStr вернет 7, так как подстрока "world" начинается с 7 символа строки "Hello world".
Dim position As Integer
position = InStr(1, "Hello world", "world")
Пример 2:
В следующем примере мы будем искать подстроку "Hello" в строке "Hello World" без учета регистра символов. Функция InStr вернет 1, так как подстрока "Hello" начинается с 1 символа строки "Hello World".
Dim position As Integer
position = InStr(1, "Hello World", "hello", vbTextCompare)
Пример 3:
В следующем примере мы будем искать подстроку "Hello" в строке "Hello World" начиная поиск с 5 символа. Функция InStr вернет 0, так как подстрока "Hello" не найдена, начиная с 5 позиции строки "Hello World".
Dim position As Integer
position = InStr(5, "Hello World", "Hello")
Пример 4:
В следующем примере мы будем искать подстроку "o" в строке "Hello World" начиная с 8 символа. Функция InStr вернет 8, так как первое вхождение подстроки "o" начинается с 8 символа строки "Hello World".
Dim position As Integer
position = InStr(8, "Hello World", "o")
Пример 5:
Можно использовать функцию InStr для поиска подстроки в переменной типа String. Например, мы будем искать подстроку "Wor" в переменной str, которая содержит значение "Hello World". Функция InStr вернет 7, так как подстрока "Wor" начинается с 7 символа значения переменной str.
Dim str As String
Dim position As Integer
str = "Hello World"
position = InStr(1, str, "Wor")
Все примеры показывают использование функции InStr в различных сценариях для поиска подстрок внутри строк в языке программирования VBA. Успешное использование функции InStr позволяет более эффективно обрабатывать и манипулировать текстовыми данными в ваших VBA-приложениях.