Поле со списком Excel VBA - простые макросы Excel

Содержание

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

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

2. В группе «Элементы управления ActiveX» щелкните Поле со списком.

3. Перетащите поле со списком на лист.

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

Создайте событие открытия книги. Код, добавленный в событие открытия книги, будет выполнен Excel VBA при открытии книги.

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

5. Дважды щелкните эту книгу в проводнике проекта.

6. Выберите «Рабочая книга» в раскрывающемся списке слева и выберите «Открыть» в раскрывающемся списке справа.

7. Чтобы добавить элементы в поле со списком, добавьте следующие строки кода в событие открытия книги:

С Sheet1.ComboBox1
.AddItem "Париж"
.AddItem "Нью-Йорк"
.AddItem "Лондон"
Конец с

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

ComboBox1.Clear
ComboBox1.Value = ""

8. Чтобы связать это поле со списком с ячейкой, щелкните правой кнопкой мыши поле со списком (убедитесь, что выбран режим разработки) и выберите «Свойства». Заполните D2 для LinkedCell.

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

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

Результат:

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

Вы поможете развитию сайта, поделившись страницей с друзьями

wave wave wave wave wave