Функція пошуку VBA Excel

Хто не знає методу FIND в excel? Я впевнений, що всі знають, хто має справу з робочими листами Excel. ЗНАЙТИ або популярна клавіша швидкого доступу Ctrl + F знайде слово або вміст, який ви шукаєте, як у всьому робочому аркуші, так і у всій робочій книжці. Коли ви кажете знайти, значить, ви знаходите в клітинках або діапазонах, чи не так? Так, метод правильного пошуку є частиною комірок або діапазонів у excel, а також у VBA.

Аналогічно, у VBA Find у нас є опція під назвою FIND, яка може допомогти нам знайти значення, яке ми шукаємо. У цій статті я ознайомлю вас з методологією ЗНАЙДЕННЯ у VBA.

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

У звичайному аркуші excel ми просто вводимо клавішу швидкого доступу Ctrl + F, щоб знайти вміст. Але у VBA нам потрібно написати функцію, щоб знайти той вміст, який ми шукаємо. Гаразд, давайте подивимось на синтаксис FIND.

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

Якщо ви спостерігаєте, що є у звичайному Ctrl + F, все є і у синтаксисі VBA Find. Тепер погляньте, про що говорить кожне слово в синтаксисі.

Що: Просто те, що ви шукаєте. Тут ми повинні згадати той зміст, який ми шукаємо.

Після: Після якої клітинки ви хочете шукати.

LookIn: Де шукати те, що ви шукаєте, наприклад, Формули, Значення або Коментарі. Параметри - xlFormulas, xlValues, xlComments.

LookAt: Ви шукаєте весь вміст або лише його частину. Параметри: xlWhole, xlPart.

SearchOrder: Ви шукаєте в рядках чи стовпцях. xlByRows або xlByColumns.

SearchDirection: Ви дивитесь на наступну або попередню клітинку. xlNext, xlPrevious.

MatchCase: Вміст, який ви шукаєте, залежно від регістру чи ні. Правда чи брехня.

MatchByte: це лише для двобайтових мов. Правда чи брехня.

SearchFormat: Ви шукаєте шляхом форматування. Якщо ви шукаєте формат, вам потрібно скористатися методом Application.FindFormat .

Це пояснення синтаксису методу VBA FIND. Крім першого параметра, все необов’язково. У розділі прикладів ми побачимо, як використовувати цей метод FIND у кодуванні VBA.

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

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

Ви можете завантажити шаблон VBA Find Excel тут - VBA Знайти шаблон Excel

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

Спочатку дозвольте пояснити вам простий приклад використання властивості FIND та пошуку потрібного нам вмісту. Припустимо, нижче - це дані, які ви маєте на своєму аркуші Excel.

Крок 1: З цього я хочу знайти ім'я Джон, давайте відкриємо Visual basic і почнемо кодування.

Код:

 Sub Find_Ex1 () Кінець Sub 

Крок 2: Тут ви не можете запустити слово FIND, оскільки FIND є частиною властивості RANGE. Отже, спочатку нам потрібно згадати, де ми шукаємо, тобто дальність.

Крок 3: Тому спочатку згадайте про діапазон, де ми шукаємо. У нашому прикладі наш діапазон - від B2 до B11.

Код:

 Діапазон пошуку Find_Ex1 () () B2: B11 ") Кінець Sub 

Крок 4: Після згадування діапазону поставте крапку (.) Та наберіть FIND. Ви повинні побачити властивість FIND.

Крок 5: Виберіть властивість ЗНАЙТИ та відкрийте дужку.

Крок 6: Наш перший аргумент - це те, що ми шукаємо. Для того, щоб виділити аргумент, ми можемо передати такий аргумент як : Що: =, це було б корисно визначити, до якого параметра ми маємо на увазі.

Код:

 Діапазон Find Find_Ex1 () ("B2: B11"). Знайти (What: = "John") Кінець Sub 

Крок 7: Заключна частина - після пошуку слова, що ми хочемо зробити. Нам потрібно вибрати слово, тому передаємо аргумент як. Виберіть .

Код:

 Діапазон Find Find_Ex1 () ("B2: B11"). Знайти (Що: = "Джон"). Виберіть Кінець Sub 

Крок 8: Потім запустіть цей код за допомогою клавіші F5 або вручну, як показано на малюнку, щоб він вибрав перше знайдене слово Джонсон, яке містить слово Джон.

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

Зараз я покажу вам, як знайти слово коментаря за допомогою методу find. У мене є дані, і в трьох клітинках є коментар.

Ті клітини, що мають червоний прапор, мають у ньому коментарі. З цього коментаря я хочу шукати слово "Без комісії".

Крок 1: Запустіть код із згадуванням про діапазон (“D2: D11”) та поставте крапку (.) Та введіть Find

Код:

 Діапазон Find Find_Ex2 () ("D2: D11"). Знайти (End Sub 

Крок 2: В аргументі ЩО введіть слово "Без комісії".

Код:

 Діапазон Find Find_Ex2 () ("D2: D11"). Знайти (Що: = "Без комісії", Кінець підрозділу 

Крок 3: Ігноруйте частину After і виберіть частину LookIn. У частині LookIn ми шукаємо це слово в коментарях, тому вибираємо xlComments і передаємо аргумент як .Select

Код:

 Діапазон Find Find_Ex2 () ("D2: D11"). Знайти (Що: = "Без комісії", LookIn: = xlКоменти). 

Крок 4: Тепер запустіть цей код за допомогою клавіші F5 або вручну, як показано на малюнку, щоб він обрав клітинку з коментарем "Без комісії". У комірці D9 ми маємо згаданий коментар.

Справа зі значеннями помилок у Excel VBA Find

Якщо слово, яке ми шукаємо, не знайдеться в діапазоні, який ми надали VBA-код, який призведе до такої помилки.

Для того, щоб показати користувачеві, що значення, яке ви шукаєте, недоступне, нам потрібен код нижче.

Якщо в наведеному вище коді знайдено значення, то воно показує значення & адресу комірки, або в іншому випадку воно відображатиметься як " Значення, яке ви шукаєте, недоступне в наданому діапазоні !!!".

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

  • VBA FIND є частиною властивості RANGE. Вам потрібно використовувати FIND після вибору лише діапазону.
  • ЗНАЙДЕНО перший параметр є обов'язковим (Що), крім цього все інше не є обов'язковим.
  • Якщо ви знайдете значення після конкретної комірки, ви можете згадати комірку в параметрі After після синтаксису Find.

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

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

  1. ЗНАЙТИ Функцію в Excel
  2. Функція VBA в Excel
  3. Посібник по діапазону в Excel
  4. Як використовувати функцію VBA VLOOKUP?

Категорія: