Функция VBA InStr

В VBA у нас есть функция InStr Function, которая используется для возврата позиции первого вхождения подстроки в строке. Это означает, например, что у нас есть имя «Jhon», и мы должны найти вхождение позиции H алфавита в строке. Для этого используется функция.

Формула для функции InStr в Excel VBA

Функция Excel VBA InStr имеет следующий синтаксис:

В синтаксисе Start и Compare являются необязательными, в то время как значения строки и подстроки обязательны. Строка - это строка, в которой мы хотим найти нашу подстроку, а подстрока - это значение, которое необходимо найти в строке. Предположим, что если бы нам пришлось использовать приведенный выше синтаксис в нашем примере Jhon над кодом VBA, как показано ниже,

Instr («Jhon», «H»), и результатом будет 2, поскольку позиция алфавита H равна 2 в строке.

Теперь мы переходим к необязательным частям синтаксиса, которые начинаются и сравниваются. Начало - это позиция строки, с которой мы хотим начать поиск, тогда как сравнение имеет три типа,

  1. VbUseCompareOption: (-1) Используется для сравнения опций.
  2. VbBinaryCompare: (0) Используется для двоичного сравнения.
  3. VbTextCompare: (1) Используется для текстового сравнения.

Но нам нужна переменная для хранения значения результата. Поскольку значение является целым числом, определенная переменная также должна быть целым числом. Теперь, если мы вычислили значение, нам также нужно отобразить результат, мы используем функцию msgbox для отображения результата.

Как использовать функцию Excel VBA InStr?

Мы научимся использовать функцию VBA InStr Excel на нескольких примерах.

Вы можете скачать этот шаблон VBA InStr Excel здесь - Шаблон VBA InStr Excel

Функция VBA InStr - Пример № 1

В объяснении выше я использовал слово Jhon в качестве строки и хотел найти положение H в строке. Я напишу код для того же самого в VBA и использую функцию Instr, чтобы найти положение J в строке.

Выполните следующие шаги, чтобы использовать функцию InStr в VBA.

Шаг 1. На вкладке «Разработчик» щелкните Visual Basic, чтобы открыть редактор VB.

Шаг 2: Как только модуль открыт, объявите подфункцию, чтобы начать писать код.

Код:

 Sub Compare () End Sub 

Шаг 3: Теперь функция объявлена. Нам нужно объявить переменную для хранения позиции подстроки.

Код:

 Sub Compare () Dim Pos As Integer End Sub 

Шаг 4: Теперь мы напишем функцию InStr, чтобы узнать положение нашей подстроки.

Код:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "J") End Sub 

Шаг 5: Чтобы вернуть положение подстроки в качестве значения, мы используем функцию MsgBox и закрываем подфункцию.

Код:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Шаг 6: Если мы запустим код, он показывает позицию алфавита J в строке.

Шаг 7: Если мы изменим подстроку, чтобы проверить, что код работает правильно, давайте найдем алфавит n в строке.

Код:

 Sub Compare () Dim Pos As Integer Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Шаг 8: Теперь, если мы запустим код, мы увидим положение алфавита n в строке.

Функция VBA InStr - пример № 2

Теперь мы увидели, что делают обязательные аргументы функции, теперь давайте воспользуемся необязательными. Строка «Я хороший мальчик, но не хороший бегун». Мы найдем подстроку «Good» из строки, но проигнорируем первый Good из предложения.

Выполните следующие шаги, чтобы использовать функцию InStr в VBA.

Шаг 1: Откройте редактор VB на вкладке разработчиков, нажав на Visual Basic.

Шаг 2: Начните с объявления подфункции.

Код:

 Sub Compare1 () End Sub 

Шаг 3: Теперь объявите переменную для хранения позиции подстроки.

Код:

 Sub Compare1 () Dim Pos1 As Integer End Sub 

Шаг 4: Теперь мы будем использовать функцию InStr, чтобы найти положение строки.

Код:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, «Я хороший мальчик, но бот хороший бегун», «Хороший», vbBinaryCompare) End Sub 

Шаг 5: Теперь мы используем функцию Msgbox, чтобы вернуть значение строки.

Код:

 Sub Compare1 () Dim Pos1 As Integer Pos = InStr (12, «Я хороший мальчик, но бот хороший бегун», «Good», vbBinaryCompare) MsgBox Pos End Sub 

Шаг 6: Теперь, если мы запустим код, мы можем получить позицию подстроки.

Объяснение функции Excel VBA Instr

Функция InStr в VBA используется для возврата позиции значения подстроки в строке. Что происходит, если значение не найдено? Если значение не найдено в строке, отображаемый результат равен нулю.

Мы всегда должны помнить, что функция Instr чувствительна к регистру. Чтобы доказать это, мы переходим к примеру 1, где мы использовали функцию instr для поиска по алфавиту.

Что произойдет, если подстрока «N» вместо «n»? давайте узнаем. Я изменил регистр алфавита в строке.

Теперь, если я выполню код, я получу результат, как показано ниже.

Это доказывает, что функция instr чувствительна к регистру.

То, что нужно запомнить

  • Два обязательных поля: Строка и Подстрока.
  • Функция Instr чувствительна к регистру.
  • Значение функции InStr является целым числом.

Рекомендуемые статьи

Это было руководство к функции VBA InStr. Здесь мы обсудили, как использовать функцию Excel VBA InStr вместе с практическими примерами и загружаемым шаблоном Excel. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA VLOOKUP Функция
  2. Функция Excel SWITCH
  3. Полное руководство по VBA при ошибке
  4. Использование полосы прокрутки в Excel

Категория: