Як використовувати функцію Find у VBA (6 прикладів)

  • Поділитися Цим
Hugh West

Однією з найбільш важливих і широко використовуваних функцій, які ми використовуємо в Visual Basic Application (VBA) У цій статті я покажу вам, як можна використовувати функцію пошуку Функція FIND Excel з відповідними прикладами та ілюстраціями.

Завантажити Практичний посібник

Пошук функції в VBA в Excel.xlsm

6 Короткі приклади використання функції FIND у VBA

Тут ми маємо набір даних з Назви книг, автори і Ціни деяких книг книгарні під назвою "Мартін Букстор".

Сьогодні наша мета - побачити різні види використання Функція пошуку з VBA з цього набору даних.

1. використання функції Find у VBA без параметру

Ви можете скористатися Функція пошуку з VBA без параметрів.

Потім він буде шукати певне значення в діапазоні комірок і повертатиме перший знайдений збіг.

Давайте пошукаємо ім'я "П. Б. Шеллі" у колонці Автор ( C4:C13 ).

Лінія з Функція пошуку буде:

Set cell = Range("C4:C17").Find("P. B. Shelly")

Повна версія VBA код буде:

Код VBA:

 Sub Find() Set cell = Range("C4:C17").Find("P. B. Shelly") MsgBox cell.Address End Sub 

Виходьте:

Він виробляє Макрос під назвою Знайти Якщо запустити макрос, то він поверне $C$6 перша адреса комірки з назвою П. Б. Шеллі .

Читати далі: Пошук у діапазоні за допомогою VBA в Excel: включаючи точні та часткові збіги

2. застосувати функцію Знайти в VBA з параметром Після (для початку пошуку з певної комірки)

Ви можете скористатися Після з параметром Функція пошуку в VBA Після цього почнеться пошук значення з нижньої комірки в межах діапазону.

Для прикладу, почнемо пошук за назвою "П. Б. Шеллі" знизу клітинки C6 .

Рядок коду буде:

Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6"))

А повний VBA код буде:

Код VBA:

 Sub Find() Set cell = Range("C4:C13").Find("P. B. Shelly", After:=Range("C6")) MsgBox cell.Address End Sub 

Виходьте:

Він повернеться $C$13 тому що пошук починається з нижньої комірки C6 Це з камери C7 Так що, виходить. П. Б. Шеллі в камері C13 спочатку.

Читати далі: Як знайти рядок у комірці за допомогою VBA в Excel

3. виконати функцію Find у VBA з обгорткою навколо параметра After (для пошуку значення по колу)

На сьогоднішній день, на жаль, це не так. Після з параметром Функція пошуку пошук значення по колу

Тобто він починає пошук знизу комірки в межах діапазону, закінчує пошук в діапазоні, а потім знову починає з верху діапазону.

Для прикладу, почнемо пошук за назвою "Джон Кітс" знизу клітинки C8 за допомогою Після параметр.

Рядок коду буде:

Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8"))

А повний VBA код буде:

Код VBA:

 Sub Find() Set cell = Range("C4:C13").Find("John Keats", After:=Range("C8")) MsgBox cell.Address End Sub 

Виходьте:

Він повернеться $C$7 тому що пошук починається з нижньої комірки C8 Це з камери C9 .

Він не знаходить нічого до клітин C13 тому знову починається з клітинки C4 і знайшов одного в камері C7 .

Схожі читання:

  • Як знайти рядок за допомогою VBA в Excel (8 прикладів)
  • Пошук точного збігу за допомогою VBA в Excel (5 способів)
  • Як знайти і замінити за допомогою VBA (11 способів)

4. використання функції Find у VBA з параметром LookAt (для точного або часткового збігу)

Ви можете скористатися Функція пошуку в VBA з Поглянь параметр.

Використання LookAt = xlWhole для Саме так. збігаються, і LookAt=xlPart за Часткова збігаються.

Наприклад, спробуємо з'ясувати, чи існує книга з назвою "Ода" в Назва книги стовпчик ( B4:B13 ).

Якщо ми використовуємо xlВсього в рядку коду:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlWhole)

На виході буде видано помилку, тому що не буде знайдено жодного точний збігаються.

Але якщо ви вживаєте:

Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart)

Тоді воно повернеться. $B$9 адже є книга з такою назвою "Ода" в ньому в камері B7 "Ода до солов'я", "Ода до солов'я".

Таким чином, повний код для частковий збіг:

Код VBA:

 Sub Find() Set cell = Range("B4:B13").Find("Ode", LookAt:=xlPart) MsgBox cell.Address End Sub 

5. робота функції Find в VBA з параметром SearchDirection (для вказівки напрямку пошуку)

Ви також можете скористатися Функція пошуку в VBA з Напрямок пошуку параметр.

Використання SearchDirection = xlNext для пошуку з Зверху донизу .

І НапрямокПошуку = xlПопередній для пошуку з Знизу вгору .

Для прикладу, спробуємо знайти Автора Еліф Шафак у колонці Автор ( C4:C13 ).

Якщо ми використовуємо xlNext в рядку коду:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlNext)

Тоді вона повернеться $C$5 .

Але якщо ви вживаєте:

Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious)

Тоді воно повернеться. $C$11 .

Отже, повний код для пошуку за адресою знизу вгору є:

Код VBA:

 Sub Find() Set cell = Range("C4:C13").Find("Elif Shafak", SearchDirection:=xlPrevious) MsgBox cell.Address End Sub 

6. знайти функцію в VBA з параметром MatchCase (для збігу з урахуванням регістру або без урахування регістру)

Нарешті, ви можете скористатися Функція пошуку з MatchCase параметр.

Використання MatchCase = True за з урахуванням особливостей конкретного випадку збіг , і MatchCase=False за нечутливий до регістру збігаються.

Для прикладу, спробуємо знайти книгу "мати" в Назва книги стовпчик ( B4:B13 ).

Якщо в рядку коду використати значення True:

Set cell = Range("B4:B13").Find("mother", MatchCase:=True)

На виході буде видано помилку, оскільки не буде знайдено жодного збігу.

Але якщо ви вживаєте:

Set cell = Range("B4:B13").Find("mother", MatchCase:=False)

Тоді воно повернеться. $B$9 тому що є книга, яка називається "Мати" в камері B8 .

Таким чином, повний код для нечутливий до регістру збіг:

Код VBA:

 Sub Find() Set cell = Range("B4:B13").Find("Mother", MatchCase:=False) MsgBox cell.Address End Sub 

Висновок

Використовуючи ці способи, ви зможете використовувати функцію Find у Visual Basic додатках. Якщо у вас виникли питання, задавайте їх нам.

Г’ю Вест — досвідчений тренер і аналітик Excel із понад 10-річним досвідом роботи в галузі. Він має ступінь бакалавра з бухгалтерського обліку та фінансів і ступінь магістра з ділового адміністрування. Г’ю має пристрасть до викладання та розробив унікальний підхід до викладання, який легко зрозуміти та дотримуватися. Його експертне знання Excel допомогло тисячам студентів і професіоналів у всьому світі вдосконалити свої навички та досягти успіху в кар’єрі. У своєму блозі Г’ю ділиться своїми знаннями зі світом, пропонуючи безкоштовні навчальні посібники з Excel та онлайн-навчання, щоб допомогти окремим особам і компаніям повністю розкрити свій потенціал.