Поле со списком выпадающий список, из которого пользователь может выбрать элемент или заполнить его / ее собственному выбору. Для того, чтобы создать поле со списком в Excel VBA, выполните следующие действия.

  1. На вкладке Разработчик нажмите кнопку Вставить.

  2. В контрольной группе ActiveX, нажмите Combo Box.

Create a combo box in Excel VBA

  1. Перетащите выпадающий на листе.

Drag a Combo Box

Примечание: Вы можете изменить имя элемента управления, щелкнув правой кнопкой мыши на контроле (убедитесь, что выбран режим Design), а затем нажав кнопку Свойства. На данный момент мы оставим ComboBox1 как имя в поле со списком.

Создание Рабочего журнала Open Event. Код добавлен в Workbook Open Event будет выполняться Excel VBA при открытии книги.

  1. Откройте редактор Visual Basic.

  2. Дважды нажмите на эту книгу в окне проекта.

  3. Выберите рабочую книгу с левого выпадающего списка и выберите Открыть с правого выпадающего списка.

Workbook Open Event in Excel VBA

  1. Для добавления элементов в поле со списком, добавьте следующие строки кода к Workbook Open Event:

With Sheet1.ComboBox1

.AddItem "Paris"

.AddItem "New York"

.AddItem "London"

End With

Примечание: используйте Лист2, если ваш выпадающий находится на втором листе, Sheet3, если ваш выпадающий находится на третьем листе, и т.д. Если вы используете эти строки кода вне Workbook открытого события, вы можете добавить строки кода ниже до этих строк кода. Первая строка кода очищает поле со списком. Таким образом, ваши пункты не будут добавлены несколько раз, если вы выполнить свой код более чем один раз. Вторая строка кода очищает свой собственный выбор.

ComboBox1.Clear

ComboBox1.Value = ""
  1. Для того, чтобы связать поле со списком в ячейку, щелкните правой кнопкой мыши на поле со списком (убедитесь выбран режим уверен, дизайн) и нажмите кнопку Свойства. Заполните D2 для LinkedCell.

LinkedCell

Примечание: Также смотрите свойство ListFillRange заполнить поле со списком с диапазоном ячеек.

  1. Сохраните, закройте и снова откройте файл Excel.

Результат:

Combo Box

Хотя в некоторых ситуациях это может быть полезно сразу поместить выпадающий на листе, поле со списком особенно полезно при размещении на UserForm.