Note: The other languages of the website are Google-translated. Back to English

Как заполнить поле со списком данными именованного диапазона в 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-дневная бесплатная трасса)


Статьи по теме:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (0)
Оценок пока нет. Оцените первым!
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL