Функція VBA InStrRev
Знання про появу рядка в іншій рядку може бути дуже зручним під час роботи з щоденними даними. Очевидно, що ми можемо це зробити вручну, обчисливши поява рядка в іншій рядку, але це було б дуже обтяжливим завданням. Тому для спрощення у нас є функція VBA, яка відома як INSTRREV, яка використовується для пошуку події.
Як було пояснено вище, INSTRREV в Excel VBA використовується для пошуку появи рядка в іншій рядку. Ця функція знаходить перше виникнення рядка в цільовій рядку і повертає значення. Тепер ми повинні пам’ятати, що як це дає появу рядка, так повернене значення є числовим. Крім того, що це функція порівняння, як і інші функції у VBA, існує три основні методи порівняння.
Синтаксис InStrRev в Excel VBA
Синтаксис функції VBA InStrRev у excel такий:
Тепер давайте розбимо синтаксис і дізнаємося про нього, String - це головний рядок, звідки ми хочемо знайти виникнення підрядка, Start - числовий випадок, який ми надаємо рядку. Якщо не вказаний параметр запуску, функція починає шукати рядок з кінця. І порівняння - це метод порівняння, який ми надаємо функції. Існує три типи порівняння для цієї функції:
- Використовувати варіант порівняння, який дорівнює (-1). Він також відомий як VbUseCompareOption.
- Використовувати Бінарне порівняння, яке є (0). Він також відомий як VbBinaryCompare.
- Використовувати текстове порівняння, яке є (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, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -
- Робота з VBA Active Cell
- Видалення рядка в VBA
- Як використовувати Excel VBA Transpose?
- Як виправити помилку 1004 за допомогою VBA