Как автоматически обновить выпадающий список в Excel (3 способа)

  • Поделись Этим
Hugh West

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

Скачать Рабочую тетрадь для практических занятий

Auto-Update-Drop-Down-List.xlsx

3 способа автоматического обновления выпадающего списка в Excel

Здесь у нас есть список типов платежей, для которых мы хотим создать выпадающий список. Но для вставки любых других типов платежей в дальнейшем мы хотим автоматически обновлять наш выпадающий список, следуя приведенным ниже инструкциям. 3 методы.

Для создания этой статьи мы использовали Microsoft Excel 365 версия Однако вы можете использовать любую другую версию по своему усмотрению.

Метод-1: Использование функций OFFSET и COUNTA для автоматического обновления выпадающего списка в Excel

В этом разделе мы будем использовать комбинацию OFFSET и COUNTA функции для автообновления выпадающего списка, состоящего из типов платежей.

Шаги :

Во-первых, мы увидим эффект от обычного создания выпадающего списка.

  • Выберите ячейку D5 а затем перейдите к Данные вкладка>> Валидация данных группа>> Валидация данных .

Затем Валидация данных откроется мастер.

  • Выберите Список из различных вариантов под Разрешить и выберите диапазон в Источник .
= $B$5:$B$10

Это диапазон вариантов оплаты.

  • Нажмите OK .

Затем вы получите выпадающий список, и если вы добавите еще одну строку для другого варианта оплаты; Биткоин , то вы увидите, что выпадающий список не обновляется автоматически. Таким образом, эта вновь созданная опция не включена в наш список.

Чтобы решить эту проблему, мы создадим наш список следующим образом.

  • После открытия Валидация данных в диалоговом окне выберите Список из различных вариантов под Разрешить и введите следующую формулу в поле Источник коробка.
=OFFSET($B$5,0,0, COUNTA(B: B)-1)

Вот, $B$5 является начальной ячейкой диапазона, следующее 2 нули означают, что ссылка на ячейку не будет перемещаться ни на один номер строки или столбца. Наконец, COUNTA(B: B)-1 указывает номер высоты диапазона, который будет количеством строк, содержащих тексты или числа.

  • Нажмите OK .

Итак, после ввода формулы проверки данных мы получили следующий выпадающий список.

Если мы добавим еще один вариант оплаты под названием Биткоин , то эта опция будет автоматически добавлена в наш список.

Читать далее: Как использовать оператор IF для создания выпадающего списка в Excel

Метод-2: Определение имени для диапазона и создание таблицы для автоматического обновления выпадающего списка

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

Шаги :

  • Перейти к Формулы вкладка>> Определить имя группа>> Определить имя .

После этого вы получите Новое имя волшебник.

  • Введите имя в поле " Имя " Текстовое поле. Здесь мы введем " Типы_платежей " и выберите наш диапазон платежей в Относится к .
  • Нажмите на OK .

Теперь пришло время создать таблицу.

  • Перейти к Вставка вкладка>> Таблица .

Таким образом, вы попадете на страницу Создать таблицу диалоговое окно.

  • Выберите диапазон данных и проверьте В моей таблице есть заголовки вариант.
  • Нажмите OK .

Таким образом, мы создали следующую таблицу.

  • Теперь выберите ячейку D5 (где мы хотим разместить наш выпадающий список), а затем перейдите в раздел Данные вкладка>> Валидация данных группа>> Валидация данных .

Затем Валидация данных откроется мастер.

  • Выберите Список из различных вариантов под Разрешить и введите названный диапазон в поле Источник коробка.
=Типы_платежей

Это диапазон вариантов оплаты.

  • Нажмите OK .

Итак, после ввода формулы проверки данных мы получили следующий выпадающий список.

Если мы добавим еще один вариант оплаты под названием Биткоин , то эта опция будет автоматически добавлена в наш список.

Читать далее: Как создать динамический зависимый выпадающий список в Excel

Метод-3: Применение функции Excel INDIRECT к таблице для автоматического обновления выпадающего списка

В последнем методе вместо использования именованного диапазона в источнике проверки данных мы также можем использовать функция ИНДИРЕКТ в поле Источник и сослаться на Название таблицы В этом разделе мы покажем, как вы можете сделать то же самое, что и Метод 2 используя другую функцию.

Шаги :

Во-первых, мы преобразовали наш диапазон данных в таблицу, и имя этой таблицы будет следующим Таблица3 .

  • Теперь откройте Валидация данных диалоговое окно для добавления выпадающего списка в ячейку D5 .
  • Выберите Список из различных вариантов под Разрешить и введите следующую формулу в поле Источник .
=INDIRECT("Table3")

Таблица3 это диапазон вариантов оплаты.

  • Нажмите OK .

Итак, после ввода формулы проверки данных мы получили следующий выпадающий список.

Если мы добавим еще один вариант оплаты под названием Биткоин , то эта опция будет автоматически добавлена в наш список.

Как автоматически заполнить выпадающий список в Excel

С помощью VBA код, мы будем автоматически заполнять тексты из выпадающего списка в ячейке D5 .

Шаг-01 : Создание выпадающего списка, комбинированного блока

Сначала мы создадим простой выпадающий список в ячейке D5 .

  • Выберите ячейку D5 а затем перейдите к Данные вкладка>> Валидация данных группа>> Валидация данных .

Затем Валидация данных откроется мастер.

  • Выберите Список из различных вариантов под Разрешить и выберите диапазон в Источник .
= $B$5:$B$10

Это диапазон вариантов оплаты.

  • Нажмите OK .

Итак, мы успешно создали выпадающий список.

Теперь мы вставим комбинированное окно.

  • Перейти к Разработчик вкладка>> Вставка выпадение>> Комбо-бокс (элемент управления ActiveX) .

Затем, а плюс появится символ.

  • Перетащите вниз и вправо плюс символ.

  • Мы создали комбинированное окно , запишите его название для использования в коде (название комбинированное окно это ComboBox1 ).
  • Перейти к Разработчик вкладка>> Режим проектирования чтобы отключить Режим проектирования .

Шаг-02 : Написать код VBA

Теперь пришло время вставить наш код.

  • Щелкните правой кнопкой мыши на имени вашего листа и нажмите Посмотреть код .

Таким образом Редактор Visual Basic откроется окно для вставки нашего кода.

  • Введите следующий код в VBE
 Sub Worksheet_SelectionChange(ByVal P_val As Range) Dim DList_box As OLEObject Dim Ptype As String Dim Dsht As Worksheet Dim P_List As Variant Set Dsht = Application.ActiveSheet On Error Resume Next Set DList_box = Dsht.OLEObjects("ComboBox1") DList_box.ListFillRange = "" DList_box.LinkedCell = "" DList_box.Visible = False If P_val.Validation.Type = 3 Then P_val.Validation.InCellDropdown = FalseCancel = True Ptype = P_val.Validation.Formula1 Ptype = Right(Ptype, Len(Ptype) - 1) If Ptype = "" Then Exit Sub DList_box.Visible = True DList_box.Right = P_val.Right DList_box.Bottom = P_val.Bottom DList_box.Width = P_val.Width + 90 DList_box.Height = P_val.Height + 10 DList_box.ListFillRange = Ptype If DList_box.ListFillRange = "" Then P_List = Split(Ptype, ",") Me.ComboBox1.List = P_List EndIf DList_box.LinkedCell = P_val.Address DList_box.Activate Me.ComboBox1.DropDown End If End Sub 

Разбивка кода

  • Мы выбрали субпроцедура имя как Worksheet_SelectionChange потому что Рабочий лист указывает на лист и SelectionChange указывает на событие, которое будет выполнять код. И мы классифицировали P_val в качестве Диапазон .
  • После этого мы объявили DList_box в качестве OLEObject , Ptype в качестве Строка , Dsht в качестве Рабочий лист и P_List в качестве Вариант .
  • Затем мы назначили активный лист на Dsht , и комбинированное поле с именем ComboBox1 на DList_box .
  • Значение тип проверки данных выбирается как 3 что указывает на выпадающий
  • Сайт Ptype переменная будет хранить формулу, используемую для проверки данных на активном листе.
  • Затем мы зафиксировали положение выпадающий список и упомянул также размер.

Шаг-03 : Получение результата при вводе текста

Теперь мы протестируем наш код.

  • Теперь вернитесь в основной рабочий лист и щелкните на ячейке D5 где мы создали наш выпадающий список .

  • Начните печатать C для Денежные средства , то вы заметите Денежные средства имя уже появилось в ячейке D5 .

  • Теперь просто поместите курсор в другое место, и комбобокс снова исчезнет.

Как редактировать выпадающий список на основе Excel

Вы можете легко редактировать диапазон, на основе которого вы создали выпадающий список.

Например, здесь мы выбрали весь диапазон Виды платежей столбец, чтобы включить все варианты в список. Но теперь мы хотим, чтобы в нашем списке были только три последних варианта. Поэтому нам нужно отредактировать его.

Шаги :

  • Выберите ячейку D5 а затем перейдите к Данные вкладка>> Валидация данных группа>> Валидация данных .

Теперь Валидация данных откроется диалоговое окно.

  • Здесь мы видим следующий диапазон в Источник коробка.
= $B$5:$B$10

  • Мы изменили его на следующий диапазон.
= $B$8:$B$10

  • Нажмите OK .

Наконец, мы завершили редактирование для изменения списка опций.

Практическая секция

Чтобы заниматься самостоятельно, мы создали Практика раздел на правой стороне каждого листа.

Заключение

В этой статье мы рассмотрели различные способы автоматическое обновление выпадающего списка в Excel Надеюсь, эти методы вам очень помогут. Если у вас есть еще какие-либо вопросы, оставьте комментарий ниже.

Хью Уэст — опытный тренер и аналитик Excel с более чем 10-летним опытом работы в отрасли. Он имеет степень бакалавра в области бухгалтерского учета и финансов и степень магистра делового администрирования. Хью страстно любит преподавать и разработал уникальный подход к обучению, которому легко следовать и который легко понять. Его экспертные знания Excel помогли тысячам студентов и специалистов по всему миру улучшить свои навыки и преуспеть в своей карьере. В своем блоге Хью делится своими знаниями со всем миром, предлагая бесплатные учебные пособия по Excel и онлайн-обучение, чтобы помочь отдельным лицам и компаниям полностью раскрыть свой потенциал.