Функция VBA InStrRev

Знание вхождения строки в другую строку может быть очень удобно при работе с повседневными данными. Очевидно, что мы можем сделать это вручную, вычислив вхождение строки в другую строку, но это будет очень сложной задачей. Поэтому, чтобы упростить процесс, у нас в VBA есть функция, известная как INSTRREV, которая используется для поиска вхождения.

Как объяснялось выше, INSTRREV в Excel VBA используется для поиска вхождения строки в другую строку. Эта функция находит первое вхождение строки в целевой строке и возвращает значение. Теперь мы должны помнить, что, поскольку это дает вхождение строки, возвращаемое значение является числовым. Также как это функция сравнения, так же, как и другие функции в VBA, есть три основных метода сравнения.

Синтаксис InStrRev в Excel VBA

Синтаксис для функции VBA InStrRev в Excel выглядит следующим образом:

Теперь давайте разберем синтаксис и узнаем о нем, String - это основная строка, из которой мы хотим найти вхождение подстроки, Start - это числовое вхождение, которое мы предоставляем в строку. Если параметр start не указан, функция начинает поиск строки с конца. И сравнить - это метод сравнения, который мы предоставляем функции. Есть три типа сравнения для этой функции:

  1. Использовать Option Compare, который равен (-1). Он также известен как VbUseCompareOption.
  2. Использовать двоичное сравнение, которое равно (0). Он также известен как VbBinaryCompare.
  3. Использовать сравнение текста, которое (1). Он также известен как VbTextCompare.

Опять же, если не предоставлен ни один из параметров сравнения, функция автоматически считает его двоичным сравнением.

Теперь давайте используем эту функцию в нескольких примерах и посмотрим, как использовать эту функцию.

Как использовать Excel VBA InStrRev?

Теперь давайте попробуем с некоторыми примерами VBA InStrRev в Excel.

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

Пример № 1 - VBA InStrRev

Давайте возьмем для примера, что наша строка «Я хороший мальчик», и найдем вхождение символа «« это пробел.

Шаг 1: Теперь, прежде чем перейти к VBA, сначала включите VBA, а затем перейдите в раздел кода в разделе для разработчиков, чтобы перейти к Visual Basic.

Шаг 2: Как только мы войдем в редактор VB, который мы видим в разделе заголовка, есть опция вставки. Вставьте новый модуль из этой опции, как показано ниже.

Шаг 3: Теперь давайте запустим нашу подпроцедуру в модуле, как показано ниже.

Код:

 Sub Sample () End Sub 

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

Код:

 Sub Sample () Dim A As Integer End Sub 

Шаг 5: Теперь в переменной используйте функцию INSTRREV, чтобы найти вхождение «« в строке «Я хороший мальчик» »следующим образом.

Код:

 Sub Sample () Dim A As Integer A = InStrRev ("Я хороший мальчик", "") End Sub 

Шаг 6: Теперь отобразите значение, сохраненное в переменной A, используя функцию msgbox.

Код:

 Sub Sample () Dim A As Integer A = InStrRev («Я хороший мальчик», «») MsgBox A End Sub 

Шаг 7: Давайте выполним приведенный выше код, чтобы получить следующий результат.

Мы получаем результат как 13, потому что мы не указали начальную позицию функции, поэтому она автоматически рассчитала вхождение от конца и, таким образом, результат. Обнаружено, что «» находится на 13-й позиции строки, когда мы ищем ее с конца.

Пример №2 - VBA InStrRev

В приведенном выше примере мы не указали никакой начальной позиции для строки. Давайте представим это время в этом примере. Давайте выясним, из второй позиции, где «» встречается в строке.

Шаг 1: Вставьте новый модуль из этой опции, как показано ниже.

Шаг 2: Давайте снова определим подпроцедуру для нашего второго примера.

Код:

 Sub Sample1 () End Sub 

Шаг 3: Объявите другую целочисленную переменную для примера.

Код:

 Sub Sample1 () Dim A As Integer End Sub 

Шаг 4: Теперь в переменной A давайте найдем вхождение «» из второй позиции, используя функцию INSTRREV, следующим образом.

Код:

 Sub Sample1 () Dim A As Integer A = InStrRev («Я хороший мальчик», «», 2) End Sub 

Шаг 5: Теперь используйте функцию msgbox для отображения значения, хранящегося в A.

Код:

 Sub Sample1 () Dim A As Integer A = InStrRev («Я хороший мальчик», «», 2) MsgBox A End Sub 

Шаг 6: Теперь запустите приведенный выше код, чтобы узнать результат ниже, как показано ниже,

В результате мы получаем 1, так как мы считаем 2, мы получаем I, и после одной позиции мы получаем «».

Пример № 3 - VBA InStrRev

В этом примере давайте использовать методы сравнения. У нас есть строка «Индия - лучшая», и мы найдем строку «E», используя методы сравнения текста и двоичного кода.

Шаг 1: В том же модуле 1 напишите другую подпроцедуру, например, 3.

Код:

 Sub Sample2 () End Sub 

Шаг 2: Давайте определим две переменные как Integer, которые будут содержать значение для вхождения строки E как в текстовом, так и в двоичном сравнении соответственно.

Код:

 Sub Sample2 () Dim A, B As Integer End Sub 

Шаг 3: В переменной A давайте используем функцию INSTRREV со сравнением текста следующим образом.

Код:

 Sub Sample2 () Dim A, B As Integer A = InStrRev («Индия - лучшая», «E»,, vbTextCompare) End Sub 

Шаг 4: Теперь отобразите значение, сохраненное в A, используя функцию msgbox.

Код:

 Sub Sample2 () Dim A, B As Integer A = InStrRev («Индия - лучшая», «E»,, vbTextCompare) MsgBox A End Sub 

Шаг 5: В переменной B давайте используем двоичное сравнение для той же строки следующим образом.

Код:

 Sub Sample2 () Dim A, B As Integer A = InStrRev («Индия - лучшая», «E»,, vbTextCompare) MsgBox AB = InStrRev («Индия - лучшая», «E»,, vbBinaryCompare) MsgBox B End Sub 

Шаг 6: Выполните приведенный выше код, чтобы найти первый результат, сохраненный в переменной A, который выглядит следующим образом.

Шаг 7: Нажмите OK, чтобы увидеть результат, сохраненный в переменной B.

Мы получаем 0 в качестве результата для двоичного сравнения, потому что в нашей строке «е» присутствует не «Е». В двоичных значениях оба они различны. Таким образом, если значение не найдено в строке, мы получаем результат как 0.

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

  • Значение, возвращаемое этой функцией, является числовым.
  • Если подстрока не найдена, возвращается значение 0.
  • Начальная позиция не является обязательной. Если это не предусмотрено, по умолчанию функция выполняет поиск вхождения с конца строки.
  • Методы сравнения также являются необязательными.

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

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

  1. Работа с VBA Active Cell
  2. Удаление строки в VBA
  3. Как использовать Excel VBA Transpose?
  4. Как исправить ошибку 1004 с помощью VBA

Категория: