Перейти к содержимому

Как заполнить Комбо-Box данными из Именованного Диапазона в Excel?

Author: Siluvia Last Modified: 2025-08-07

Вы можете указать Комбо-Box (ActiveX Control) с данными определенного диапазона, добавив этот диапазон в свойства ListFillRange комбо-бокса. Но знаете ли вы, как заполнить Комбо-Box данными именованного диапазона в Excel? Например, вы назвали диапазон ячеек на вашем листе, и теперь вам нужно указать это имя диапазона в Комбо-Box. При выборе имени диапазона в одном комбо-боксе все значения ячеек этого именованного диапазона будут автоматически заполнять другой Комбо-Box. В этой статье будет представлен метод VBA для решения этой проблемы.

Заполнение Комбо-Box данными именованного диапазона с помощью кода VBA


Заполнение Комбо-Box данными именованного диапазона с помощью кода VBA

Пожалуйста, выполните следующие шаги, чтобы заполнить Комбо-Box данными именованного диапазона в Excel.

1. Пожалуйста, выберите все заголовки (в данном случае я выбираю A1:E1) на вашем листе, а затем введите имя в Поле Имени, как показано на скриншоте ниже.

create a range name for the row header

2. Выберите данные каждого столбца, исключая его заголовок, и назовите каждый столбец отдельно в Поле Имени. Смотрите скриншот:

В этом случае я назвал диапазоны A2:A8, B2:B8, C2:C8, D2:D8 и E2:E8 как Дата, Магазин, Товары, Продажи и Рабочий день соответственно.

create a range name for each column

3. Затем вставьте Комбо-Box, нажав Разработчик > Вставить > Комбо-Box (ActiveX Control). Смотрите скриншот:

click Developer > Insert > Combo Box

4. Повторите шаг 3, чтобы вставить еще один Комбо-Box на лист.

insert another Combo box

5. Щелкните правой кнопкой мыши по вкладке листа, а затем выберите Просмотреть Код из контекстного меню. Смотрите скриншот:

click View Code from the context menu

6. В открывшемся окне Microsoft Visual Basic for Applications, пожалуйста, скопируйте и вставьте приведенный ниже код VBA в окно Кода.

Код VBA: Заполнение Комбо-Box данными именованного диапазона

Private Sub ComboBox1_Change()
'Updated by Extendoffice 2018/1/30
    Dim xRg As Range
    Set xRg = Range(Me.ComboBox1.Text)
    Me.ComboBox2.List = Application.WorksheetFunction.Transpose(xRg)
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim xRg As Range
    Set xRg = Range("Headers")
    Me.ComboBox1.List = Application.WorksheetFunction.Transpose(xRg)
End Sub

Примечание: В коде ComboBox1 — это имя комбо-бокса, в котором будут перечислены все имена диапазонов, а ComboBox2 — это имя комбо-бокса, куда будут помещены данные указанного именованного диапазона. «Headers» — это имя диапазона, которое вы создали на шаге 1.

7. Отключите Режим Конструктора, нажав Разработчик > Режим Конструктора.

8. Нажмите на любую ячейку на листе, чтобы активировать код. Нажмите на стрелку в первом комбо-боксе, и вы увидите, что все именованные диапазоны перечислены внутри. Смотрите скриншот:

the first combo box listed the row headers

При выборе именованного диапазона в первом комбо-боксе соответствующие данные ячеек будут заполнены во втором комбо-боксе, как показано на скриншоте ниже:

 the corresponding cell data will be populated in the second combo box


Легко создайте выпадающий список с флажками в Excel:

Утилита Добавить флажки в выпадающий список из Kutools для Excel может помочь вам легко создать выпадающий список с флажками в указанном диапазоне, текущем листе, текущей рабочей книге или всех открытых рабочих книгах в зависимости от ваших потребностей.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная пробная версия)


Связанные статьи:

Лучшие инструменты для повышения продуктивности в Office

🤖 Kutools AI Aide: Переворот в анализе данных на основе: Интеллектуальное выполнение   |  Сгенерировать код  |  Создать Пользовательские Формулы  |  Анализ данных и генерация диаграмм  |  Вызов Kutools Functions
Популярные функции: Найти, выделить или отметить дубликаты   |  Удалить пустые строки   |  Объединить столбцы или ячейки без потери данных   |   Округлить...
Супер ПОИСК: VLookup с несколькими критериями    VLookup с несколькими значениями  |   Многолистовой поиск   |   Распознавание нечетких соответствий ....
Расширенный раскрывающийся список: Быстро создать раскр. список   |  Зависимый раскрывающийся список   |  Множественный выбор в раскрывающемся списке ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка фокусировки   |  Дизайн листа   |   Улучшенная строка формулы    Управление книгой и листами   |  Библиотека автотекста (Auto Text)   |  Выбор даты   |  Объединить данные   |  Шифрование/Расшифровка ячеек    Отправить письмо по списку   |  Супер фильтр   |   Специальный фильтр (фильтр по жирному/курсиву/зачеркиванию...) ...
Топ–15 наборов инструментов: 12 текстовых инструментов (Добавить текст, Удалить определенные символы, ...)   |   50+ типов диаграмм (Диаграмма Ганта, ...)   |   40+ практических формул (Расчет возраста на основе даты рождения, ...)   |   19 инструментов вставки (Вставить QR-код, Вставить изображение из пути, ...)   |  12 инструментов преобразования (Преобразовать в слова, Конвертация валюты, ...)   |  7 инструментов объединения и разделения (Расширенное объединение строк, Разделить ячейки, ...)   |   ... и многое другое
Используйте Kutools на вашем предпочитаемом языке – поддерживаются английский, испанский, немецкий, французский, китайский и более40 других языков!

Повысьте свои навыки работы в Excel с Kutools для Excel и ощутите новую эффективность. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени.  Щелкните здесь, чтобы получить наиболее нужную вам функцию...


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!