Найти тему

📌 Listbox: Поиск значения в реальном времени (Пример решения)

Оглавление

Ребята, всем привет! 👋

Продолжаем изучать VBA Excel. Сегодня в уроке я покажу пример решения поиска значения в реальном времени с использованием ActiveX ListBox.

✍️ Если вы только начинаете осваивать VBA Excel мы уверены, каждый может найти для себя что-то новое!

✨ А прежде, чем мы начнем 📣 напомню, теперь у нас на канале есть удобный рубрикатор 👉 Быстрый поиск решения. Путеводитель по Excel, а все видео 📽 предыдущих уроков доступны и на YouTube.

Listbox: Поиск значения в реальном времени
Listbox: Поиск значения в реальном времени

📢 Скачать исходник с примером кода вы можете в конце статьи 🔽

Пример задачи:

Пусть мы имеем некоторую базу данных товаров:

-2

Наша задача реализовать поиск товара и его цены на отдельном листе Excel:

-3

где в ячейку B1 мы будем вводить первую букву товара для поиска.

Для отображения результата поиска в данном примере я буду использовать элемент управления ActiveX ListBox, который как раз таки и применяется для отображения элементов в виде списка.

Рассмотрим решение по шагам.

⏩ ШАГ 1. ДОБАВИТЬ ЭЛЕМЕНТ УПРАВЛЕНИЯ

Чтобы добавить элемент управления ActiveX ListBox следует воспользоваться вкладкой Разработчик и режимом конструктора:

-4

Включив режим конструктора мы получим возможность добавления ActiveX ListBox на свой лист, для этого:

  • Щелкните по списку в группе элементов управления Activex и найдите список (элемент ActiveX):
-5
  • Перетащите поле со списком на рабочий лист:
-6

Примечание: В условиях рассматриваемого примера таких элементов нам потребуется два, один из которых будет отображать наименование товара, а другой стоимость:

-7

🔔 ВАЖНО! После добавления элементов управления не забываем отключить режим конструктора

⏩ ШАГ 2. ПИШЕМ КОД

Код будем добавлять в модуль листа на котором и осуществляется поиск и расположены наши элементы управления ListBox1 и ListBox2:
-8

В модуль листа пишем следующий код:

Поиск значения в реальном времени
Поиск значения в реальном времени

где

  • Лист1.Range("B1") - ячейка в которую мы будем вводить первую букву товара для его поиска
  • Лист3.Range("A2:B12") - наша база данных
  • ListBox1 - элемент управления в котором отображается результат поиска: наименование товара
  • ListBox2 - элемент управления в котором отображается результат поиска: цена товара

⏩ ШАГ 3. ТЕСТИРУЕМ РЕЗУЛЬТАТ

Теперь, когда все подготовительные действия выполнены мы можем протестировать работу макроса. Для этого введем в ячейку B1 значение для поиска и жмем Enter.

✔️ Получаем результат:

-10

Как видите все работает безупречно 😉

Безусловно данный пример является базовым, но уверена, что немного подредактировав код вы можете применять данное решение для своих задач.

А на этом сегодня все. 👏 Теперь вы знаете как выполнить поиск значения в реальном времени при помощи ActiveX Listbox. Я надеюсь, что вы нашли этот урок полезным.

Продолжение следует...

Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel. Сэкономьте сумасшедшее количество времени, используя VBA. Следите за нашими новостями и вы узнаете больше о VBA и Excel в частности.

Понравился урок!? не забываем оставлять комментарий 📝Нам очень важна Ваша обратная связь 💝

И конечно же, за лайк 👍 благодарочка 💖 и респект 🤝 каждому!

➡️ СКАЧАТЬ ПРИМЕР ФАЙЛА

Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel
Подписывайтесь на канал, чтобы не пропустить новые уроки и полезные фишки Excel