Функція VBA InStr

У VBA у нас є функція під назвою Функція InStr, яка використовується для повернення позиції першого появи підрядка в рядку. Що означає, наприклад, у нас є ім'я під назвою "Jhon", і ми повинні знайти місце розташування алфавіту H у рядку. Для цього використовується ця функція.

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

Функція InStr Excel VBA має такий синтаксис:

У синтаксисі Початок та порівняння необов’язкові, тоді як потрібні значення рядків та підрядків. Рядок - це рядок, де ми хочемо знайти свою підрядку, а підрядка - це значення, яке потрібно знайти в рядку. Припустимо, якби нам довелося використовувати вищевказаний синтаксис на нашому прикладі Джона над кодом VBA, як було б нижче,

Instr ("Jhon", "H") і результат був би 2, оскільки положення алфавіту H дорівнює 2 у рядку.

Тепер ми рухаємося до необов’язкових частин синтаксису, які є, починаємо і порівнюємо. Початком є ​​позиція рядка, з якого ми хочемо почати пошук, тоді як порівняння складається з трьох типів,

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

Але нам потрібна змінна, щоб зберігати значення результату. Оскільки значення є цілим числом, то визначена змінна також повинна бути цілим числом. Тепер, якщо ми обчислили значення, нам також потрібно відобразити результат, ми використовуємо функцію msgbox для відображення результату.

Як використовувати функцію InStr Excel VBA?

Ми дізнаємось, як використовувати функцію VBA InStr Excel з кількох прикладів.

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

Функція VBA InStr - приклад №1

У поясненні вище я використав слово Jhon як рядок і хотів знайти позицію H у рядку. Я напишу код для того ж у VBA і використовую функцію Instr, щоб знайти позицію J у рядку.

Для використання функції InStr у VBA виконайте наведені нижче дії.

Крок 1. На вкладці Developer натисніть на Visual Basic, щоб відкрити редактор VB.

Крок 2: Після того, як модуль відкритий, оголосіть підфункцію, щоб почати писати код.

Код:

 Sub Порівняти () Кінець Sub 

Крок 3: Тепер функція оголошена, нам потрібно оголосити змінну для збереження позиції підрядка.

Код:

 Sub Порівняти () Dim Pos As In Integer End Sub 

Крок 4: Тепер ми пишемо функцію InStr, щоб з’ясувати положення нашої підрядки.

Код:

 Sub Порівняти () Dim Pos As Integer Pos = InStr ("Jhon", "J") Кінець Sub 

Крок 5: Щоб повернути позицію підрядки як значення, ми використовуємо функцію MsgBox і закриваємо підфункцію.

Код:

 Sub Порівняти () Dim Pos As Integer Pos = InStr ("Jhon", "J") MsgBox Pos End Sub 

Крок 6: Якщо ми запустимо код, він відображає положення алфавіту J у рядку.

Крок 7: Якщо ми змінимо підрядку, щоб перевірити, чи працює код належним чином, знайдемо алфавіт n у рядку.

Код:

 Sub Порівняти () Dim Pos As Integer Pos = InStr ("Jhon", "n") MsgBox Pos End Sub 

Крок 8: Тепер, якщо ми запустимо код, ми можемо побачити положення алфавіту n у рядку.

Функція VBA InStr - приклад №2

Тепер ми побачили, що роблять необхідні аргументи функції, тепер давайте скористаємося необов’язковими. Рядок "Я хороший хлопчик, але не хороший бігун". Ми знайдемо підрядку "Добре" з рядка, але проігноруємо перше Добре з речення.

Для використання функції InStr у VBA виконайте наведені нижче дії.

Крок 1. Відкрийте редактор VB на вкладці розробників, натиснувши на Visual Basic.

Крок 2: Почніть з оголошення підфункції.

Код:

 Sub Порівняти1 () Кінець Sub 

Крок 3: Тепер оголосимо змінну для збереження позиції підрядка.

Код:

 Sub Порівняти1 () Dim Pos1 As Integer End Sub 

Крок 4: Тепер ми будемо використовувати функцію InStr для пошуку положення рядка.

Код:

 Sub Порівня1 () Dim Pos1 як Integer Pos = InStr (12, "Я хороший хлопчик, але бот - хороший бігун", "хороший", vbBinaryCompare) Кінець Sub 

Крок 5: Тепер ми використовуємо функцію Msgbox для повернення значення рядка.

Код:

 Sub Порівня1 

Крок 6: Тепер, якщо ми запустимо код, ми зможемо отримати позицію підрядки.

Пояснення функції інстру Excel VBA

Функція InStr в VBA використовується для повернення позиції значення підрядки в рядку. Що станеться, якщо значення не знайдено? Якщо значення не знайдено в рядку, відображається результат дорівнює нулю.

Одне, що ми завжди повинні пам’ятати, що функція Instr є чутливою до регістру. Щоб довести це, ми переходимо до прикладу 1, де ми використовували функцію instr для пошуку алфавіту.

Що станеться, якщо підрядок "N" замість "n"? давайте дізнаємось. Я змінив регістр алфавіту в рядку.

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

Це доводить, що функція instr відрізняється від регістру.

Що потрібно пам’ятати

  • Два необхідних поля - це String і Substring.
  • Функція Instr відрізняється від регістру.
  • Значення функції InStr - ціле число.

Рекомендовані статті

Це було керівництвом щодо функції VBA InStr. Тут ми обговорили, як використовувати функцію Excel VBA InStr разом із практичними прикладами та шаблоном Excel, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -

  1. Функція VBA VLOOKUP
  2. Функція SWITCH Excel
  3. Повне керівництво по помилці VBA
  4. Використання смуги прокрутки в Excel

Категорія: