Найти в Дзене
VBA Excel с нуля

VBA Excel № 168. Несколько списков в одном ЭУ ListBox

В данной статье рассмотрим пример создания элемента управления ListBox, который изменяет свое содержимое в зависимости от выбранных пользователем переключателей OptionButton. Разберем, как это реализовать. На листе Excel с названием «Лист1» имеется три именованных диапазона Фрукты, Овощи и Ягоды: Создадим форму и дадим имена элементам управления: Элемент управления ListBox получает список значений из диапазона на листе Excel. Процедуры, которые обрабатывают событие Click для элементов управления OptionButton, устанавливают значение свойства RowSource элемента управления ListBox на соответствующий необходимому диапазону. Давайте рассмотрим несколько таких процедур которые размещены в модуле ФОРМЫ. Данный код описывает три процедуры, которые вызываются при нажатии на соответствующие переключатели OptionButton. Каждая процедура изменяет источник данных для ListBox в зависимости от выбора пользователя. Также имеется процедура для кнопки "OK", которая закрывает форму. Для вызова формы и
Оглавление
Скриншот с моего ноутбука
Скриншот с моего ноутбука

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

На листе Excel с названием «Лист1» имеется три именованных диапазона Фрукты, Овощи и Ягоды:

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Что же сделать, чтобы работало так:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Создадим форму и дадим имена элементам управления:

Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука
Скриншот с моего ноутбука

Элемент управления ListBox получает список значений из диапазона на листе Excel. Процедуры, которые обрабатывают событие Click для элементов управления OptionButton, устанавливают значение свойства RowSource элемента управления ListBox на соответствующий необходимому диапазону. Давайте рассмотрим несколько таких процедур которые размещены в модуле ФОРМЫ.

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Данный код описывает три процедуры, которые вызываются при нажатии на соответствующие переключатели OptionButton. Каждая процедура изменяет источник данных для ListBox в зависимости от выбора пользователя. Также имеется процедура для кнопки "OK", которая закрывает форму.

Вызов формы

Для вызова формы используется следующая процедура, размещённая в ОБЫЧНОМ модуле:

Скриншот с моего ноутбука
Скриншот с моего ноутбука

Эта процедура сначала проверяет, не является ли пустым свойство RowSource для элемента управления ListBox, и устанавливает начальный источник данных на диапазон "Фрукты". Затем она устанавливает переключатель "Фрукты" в состояние "Включено" и отображает форму.

Более подробнее

  1. Инициализация формы: При вызове формы, сначала устанавливается источник данных для ListBox и активируется один из переключателей. Это позволяет форме сразу отобразить начальные данные без необходимости дополнительного выбора пользователем.
  2. Обработка событий переключателей: Каждая процедура для переключателя OptionButton изменяет источник данных для ListBox. Например, при выборе "Фрукты" ListBox будет отображать данные из диапазона "Фрукты" на листе "Лист1".
  3. Закрытие формы: Процедура, вызываемая при нажатии на кнопку "OK", закрывает форму, что завершает взаимодействие пользователя с данным элементом управления.

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

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

✔ На моём телеграмм-канале появился анонс на следующую статью, которая выйдет 05.08.2024 с НОВЫМ Excel файлом-примером. Скачать его уже сейчас можно по этой ССЫЛКЕ.