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