Функція VBA InStrRev

Знання про появу рядка в іншій рядку може бути дуже зручним під час роботи з щоденними даними. Очевидно, що ми можемо це зробити вручну, обчисливши поява рядка в іншій рядку, але це було б дуже обтяжливим завданням. Тому для спрощення у нас є функція VBA, яка відома як INSTRREV, яка використовується для пошуку події.

Як було пояснено вище, INSTRREV в Excel VBA використовується для пошуку появи рядка в іншій рядку. Ця функція знаходить перше виникнення рядка в цільовій рядку і повертає значення. Тепер ми повинні пам’ятати, що як це дає появу рядка, так повернене значення є числовим. Крім того, що це функція порівняння, як і інші функції у VBA, існує три основні методи порівняння.

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

Синтаксис функції VBA InStrRev у excel такий:

Тепер давайте розбимо синтаксис і дізнаємося про нього, String - це головний рядок, звідки ми хочемо знайти виникнення підрядка, Start - числовий випадок, який ми надаємо рядку. Якщо не вказаний параметр запуску, функція починає шукати рядок з кінця. І порівняння - це метод порівняння, який ми надаємо функції. Існує три типи порівняння для цієї функції:

  1. Використовувати варіант порівняння, який дорівнює (-1). Він також відомий як VbUseCompareOption.
  2. Використовувати Бінарне порівняння, яке є (0). Він також відомий як VbBinaryCompare.
  3. Використовувати текстове порівняння, яке є (1). Він також відомий як VbTextCompare.

Знову ж таки, якщо жоден із варіантів порівняння не надається, функція автоматично розглядає його як двійкове порівняння.

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

Як використовувати Excel VBA InStrRev?

Тепер спробуємо з кількома прикладами на VBA InStrRev в Excel.

Ви можете завантажити цей шаблон VBA InStrRev Excel тут - Шаблон VBA InStrRev Excel

Приклад №1 - VBA InStrRev

Візьмемо для прикладу, що наш рядок "Я хороший хлопчик" і знайдемо появу символу "", який є космосом.

Крок 1: Тепер, перш ніж ми перейдемо на VBA, спочатку увімкніть VBA, потім перейдіть до розділу коду в розділі розробника, щоб натиснути на візуальний базовий.

Крок 2: Після входу в редактор VB, який ми можемо побачити в розділі заголовка, є можливість вставити. Вставте новий модуль із цієї опції, як показано нижче.

Крок 3: Тепер розпочнемо підпроцедуру в модулі, як показано нижче.

Код:

 Sub Sample () Кінець Sub 

Крок 4: Тепер оголосимо змінну як ціле число, яке буде містити вихідне значення функції для нас.

Код:

 Sub Sample () Dim A As Integer End Sub 

Крок 5: Тепер у змінній використовуйте функцію INSTRREV, щоб знайти виникнення "" у рядку "Я хороший хлопчик" наступним чином.

Код:

 Sub Sample () Dim A As Integer A = InStrRev ("Я хороший хлопчик", "") Кінець 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 () Кінець Sub 

Крок 3: Зазначте іншу цільну змінну для прикладу.

Код:

 Sub Sample1 () Dim A As Integer End Sub 

Крок 4: Тепер у змінній A знайдемо виникнення "" з другого положення за допомогою функції INSTRREV наступним чином.

Код:

 Sub Sample1 () Dim A As Integer A = InStrRev ("Я хороший хлопчик", "", 2) Кінець Sub 

Крок 5: Тепер використовуйте функцію msgbox для відображення значення, збереженого в А.

Код:

 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 () Кінець Sub 

Крок 2: Давайте визначимо дві змінні як Цілі, які будуть містити значення для появи рядка Е як у текстовому, так і у двійковому порівнянні відповідно.

Код:

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

Крок 3: У змінній A скористаємось функцією INSTRREV із порівнянням тексту наступним чином.

Код:

 Sub Sample2 () Dim A, B As Integer A = InStrRev ("Індія найкраща", "E",, vbTextCompare) Кінець 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 Під 

Крок 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

Категорія: