Функція пошуку 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, який можна завантажити. Ви також можете ознайомитися з іншими запропонованими нами статтями -
- ЗНАЙТИ Функцію в Excel
- Функція VBA в Excel
- Посібник по діапазону в Excel
- Як використовувати функцію VBA VLOOKUP?