Функція пошуку VBA | Як використовувати функцію пошуку VBA? (Приклади)

Excel VBA Find

Коли ми використовуємо Find на звичайному робочому аркуші, ми натискаємо комбінацію клавіш CTRL + F і вводимо дані, які нам потрібно знайти, а якщо не бажане значення, переходимо до наступного збігу, якщо таких збігів багато, це нудне завдання, але коли ми використовуємо FIND у VBA, він виконує завдання за нас і дає нам точну відповідність, і для цього потрібно три аргументи, один - що знайти, де знайти і де подивитися.

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

Коли ми натискаємо на це, ми отримуємо два варіанти;

Одного просто знайти,

Ми бачимо, що він також має режим опцій, який відкриває ще одну функцію.

Він виконує алгоритм пошуку з чотирма обмеженнями: Знайти що, Усередині, Шукати та шукати.

Другий варіант у excel - знайти та замінити, що використовується, коли ми знаходимо рядок, але що замінити його будь-яким іншим значенням,

Знайдіть синтаксис функції

Вище ми дізналися, що таке Find in basic excel. У VBA ми пишемо коди вручну, але функції такі ж, як і в звичайній Excel. Спочатку давайте розглянемо синтаксис.

Вираз.Знайди (Що, дивись, ...)

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

Вирази в макросах - це визначені діапазони, такі як діапазон 1 або діапазон 2. Що таке ключове слово для того, що ми хочемо шукати для певного значення? Lookin - це ключове слово для того, що ми намагаємось шукати, - це коментар, формула чи рядок. Подібним чином, існують інші обмеження у функції Find, які є необов’язковими. Єдине обов’язкове поле - це значення, яке ми намагаємось шукати.

По суті, VBA вважає, що Excel має один обов’язковий аргумент, яке значення ми хочемо шукати. Решта обмежень є необов'язковими, і існує багато обмежень у функції пошуку. Функція пошуку подібна до функції пошуку у Excel.

Параметром функції пошуку є діапазон комірок. Як у якому діапазоні ми хочемо знайти значення. Це може бути кілька стовпців або кілька комірок або цілий аркуш.

Приклади

Ви можете завантажити цей шаблон функцій VBA FIND Excel тут - Шаблон Excel функції VBA FIND

Приклад №1

Припустимо, наші дані мають такі значення

Ми спробуємо знайти “Аран” в тих самих даних.

  • Для написання коду VBA необхідно мати ввімкнену вкладку розробника в Excel, щоб мати можливість писати коди VBA.

  • Ми починаємо писати наш код, пишучи наступний код, як показано нижче,
Підвибірка ()

Затемнення знаходить як рядок

Приглушити Rng як діапазон

FindS = InputBox (“Введіть значення, яке потрібно шукати”)

З аркушами (“Аркуш1”). Діапазон (“А: А”)

  • Зразок - це назва функції, присвоєна додатковій.
  • Знайти - це рядок, який ми хочемо шукати для користувача, якого ми хочемо ввести.
  • Rng - це змінна, яку ми взяли для діапазону.
  • Тепер ми просимо користувача ввести значення, яке виглядає як на скріншоті нижче,

  • Тепер ми визначимо нашу функцію пошуку в модулі.

  • Функція знаходить значення, введене користувачем у заданому діапазоні.
  • Тепер ми закриваємо функцію такими аргументами.

  • Тепер, якщо ми спочатку запускаємо наш код, він запитує запит користувача про значення.

  • Після завершення коду він повертає комірку туди, де були знайдені дані.

Приклад №2

У наведеному вище прикладі було чотири унікальних імена, але що, якби в даних було більше одного імені, наприклад, розгляньте наведені нижче дані,

Ми бачимо, що ім'я Аран повторюється двічі у вищезазначених даних. Якщо excel повинен знайти ім'я Aran, він знайде його в комірці A2 і зупинить, але є інше значення, подібне до значення A2 в комірці A6. Як отримати це значення? Ось синтаксис Find (What, After) у довідці.

Після визначає комірку, після якої посилання ми хочемо здійснити пошук даних.

Давайте напишемо код для наведених даних.

  • Завжди пам’ятайте, щоб увімкнути вкладку розробника з опцій, а потім зі налаштування стрічки в Excel, щоб мати можливість писати код у VBA.
  • У VBA ми отримуємо об'єкти Microsoft Excel, що є модулем, куди ми пишемо коди.

  • Раніше ми працювали над аркушем 1, зараз ми працюємо з аркушем 2, тому виберіть аркуш 2 для іншого модуля і з’явиться порожня сторінка.

  • Тепер почніть писати код, визначивши функцію спочатку як SUB Sample2 () і натисніть клавішу Enter.

  • Тепер, коли ми визначили свою функцію, ми почнемо входити в основну частину, яка визначає наші змінні.

  • Визначте, що має містити змінна Find,

  • Виберіть аркуші, над якими ми працюємо, а це аркуш 2 у цьому прикладі,

  • Тепер ми знайдемо текст, що користувач введе після комірки А2, тому ми визначаємо нашу функцію пошуку, як показано нижче,

  • Тепер ми закриваємо код, закінчуючи умовами if і if.

Наведений вище код робить пошук у рядку після комірки A2 і повертає клітинку, де б вона не була знайдена.

Що слід пам’ятати

  1. Перш за все, нам потрібно увімкнути вкладку розробника, щоб використовувати VBA.
  2. Яке конкретне значення нам потрібно знайти?
  3. Якщо значення не знайдено, для об'єкта функції не встановлено значення.