Как заполнить Комбо-Box данными из Именованного Диапазона в Excel?
Вы можете указать Комбо-Box (ActiveX Control) с данными определенного диапазона, добавив этот диапазон в свойства ListFillRange комбо-бокса. Но знаете ли вы, как заполнить Комбо-Box данными именованного диапазона в Excel? Например, вы назвали диапазон ячеек на вашем листе, и теперь вам нужно указать это имя диапазона в Комбо-Box. При выборе имени диапазона в одном комбо-боксе все значения ячеек этого именованного диапазона будут автоматически заполнять другой Комбо-Box. В этой статье будет представлен метод VBA для решения этой проблемы.
Заполнение Комбо-Box данными именованного диапазона с помощью кода VBA
Заполнение Комбо-Box данными именованного диапазона с помощью кода VBA
Пожалуйста, выполните следующие шаги, чтобы заполнить Комбо-Box данными именованного диапазона в Excel.
1. Пожалуйста, выберите все заголовки (в данном случае я выбираю A1:E1) на вашем листе, а затем введите имя в Поле Имени, как показано на скриншоте ниже.
2. Выберите данные каждого столбца, исключая его заголовок, и назовите каждый столбец отдельно в Поле Имени. Смотрите скриншот:
В этом случае я назвал диапазоны A2:A8, B2:B8, C2:C8, D2:D8 и E2:E8 как Дата, Магазин, Товары, Продажи и Рабочий день соответственно.
3. Затем вставьте Комбо-Box, нажав Разработчик > Вставить > Комбо-Box (ActiveX Control). Смотрите скриншот:
4. Повторите шаг 3, чтобы вставить еще один Комбо-Box на лист.
5. Щелкните правой кнопкой мыши по вкладке листа, а затем выберите Просмотреть Код из контекстного меню. Смотрите скриншот:
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. Нажмите на любую ячейку на листе, чтобы активировать код. Нажмите на стрелку в первом комбо-боксе, и вы увидите, что все именованные диапазоны перечислены внутри. Смотрите скриншот:
При выборе именованного диапазона в первом комбо-боксе соответствующие данные ячеек будут заполнены во втором комбо-боксе, как показано на скриншоте ниже:
Легко создайте выпадающий список с флажками в Excel:
Утилита Добавить флажки в выпадающий список из Kutools для Excel может помочь вам легко создать выпадающий список с флажками в указанном диапазоне, текущем листе, текущей рабочей книге или всех открытых рабочих книгах в зависимости от ваших потребностей.
Скачайте и попробуйте прямо сейчас! (30-дневная бесплатная пробная версия)
Связанные статьи:
- Как скопировать значение Комбо-Box в активную ячейку в Excel?
- Как отобразить формат даты в выводе комбо-бокса в Excel?
- Как предотвратить или отключить ввод текста в комбо-боксе в Excel?
- Как заполнить комбо-бокс указанными данными при открытии книги?
- Как автоматически заполнять другие ячейки при выборе значений в выпадающем списке Excel?
Лучшие инструменты для повышения продуктивности в Office
Повысьте свои навыки работы в Excel с помощью Kutools для Excel и ощутите эффективность на новом уровне. Kutools для Excel предлагает более300 расширенных функций для повышения производительности и экономии времени. Нажмите здесь, чтобы выбрать функцию, которая вам нужнее всего...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите режим вкладок для редактирования и чтения в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна вместо новых отдельных окон.
- Увеличьте свою продуктивность на50% и уменьшите количество щелчков мышью на сотни ежедневно!
Все надстройки Kutools. Один установщик
Пакет Kutools for Office включает надстройки для Excel, Word, Outlook и PowerPoint, а также Office Tab Pro — идеально для команд, работающих в разных приложениях Office.





- Комплексный набор — надстройки для Excel, Word, Outlook и PowerPoint плюс Office Tab Pro
- Один установщик, одна лицензия — настройка занимает считанные минуты (MSI-совместимо)
- Совместная работа — максимальная эффективность между приложениями Office
- 30-дневная полнофункциональная пробная версия — без регистрации и кредитной карты
- Лучшее соотношение цены и качества — экономия по сравнению с покупкой отдельных надстроек