Перейти к содержимому
Наше приложение «Дешевые авиабилеты» в AppGallery >>

VBA Excel. Выбор позиции из списка

    Выбор позиции из списка на листе Excel с помощью VBA. Использование галочки в ячейке Excel в качестве переключателя. Пример кода VBA.

    Выбор позиции из списка

    В Excel можно реализовать удобный механизм выбора одной позиции из списка с помощью вставки галочки в ячейку. Такая визуальная метка может быть использована для создания простых интерфейсов без применения форм или дополнительных элементов управления. Один из примеров — выбор пункта из списка, когда пользователь может установить галочку только рядом с одной строкой.

    Предположим, у нас есть список из пяти элементов в диапазоне A1:A5. При щелчке по любой ячейке из этого диапазона, в неё вставляется галочка, а из остальных ячеек она удаляется. Это позволяет реализовать поведение, аналогичное переключателю — только один элемент списка может быть выбран одновременно.

    Код VBA для реализации

    Приведённый ниже код вставляется в модуль конкретного листа (например, "Лист1"):

    Как это работает

    1. Обработчик события Worksheet_SelectionChange реагирует на выбор ячейки пользователем.
    2. Проверка количества ячеек исключает множественный выбор.
    3. Определяется диапазон A1:A5, в котором допустим выбор.
    4. При выборе одной из ячеек:
      • Все ячейки в диапазоне очищаются.
      • В выбранную ячейку вставляется символ галочки.

    Технические детали

    • Код должен находиться в модуле листа, а не в обычном модуле.
    • Символ галочки вставляется с помощью функции ChrW(10004), которая возвращает Unicode-символ галочки (✓).
    • Работоспособность проверена в Microsoft Excel 2016.

    Возможные применения

    • Выбор одного варианта из списка.
    • Простая реализация опросов или голосований в Excel.
    • Упрощённые интерфейсы, когда не требуется использование форм.

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

    Содержание рубрики VBA Excel по тематическим разделам со ссылками на все статьи.