Макросы пользовательских форм Excel 2016, Windows 7

Макросы пользовательских форм Excel 2016, Windows 7

Я создал форму пользователя в Excel 2016, которая содержит несколько полей со списком, несколько текстовых полей, два переключателя и кнопку отправки. Во-первых, как мне заставить поля со списком ссылаться на список, который я уже настроил?

решение1

Вы можете запустить событие с помощью обработчика событий form_activate. Щелкните правой кнопкой мыши по вашей пользовательской форме в окне проекта и выберите «Просмотреть код»

Вставьте в окно кода что-нибудь вроде этого:

Private Sub UserForm_Activate()
    ComboBox1.AddItem ("1")
    ComboBox1.AddItem ("2")
    ComboBox1.AddItem ("3")
End Sub

Это загрузит элементы в combobox. Вы также можете изменить это на что-то вроде этого:

Private Sub UserForm_Activate()
    ComboBox1.AddItem (range("'Sheet1'!A1").value)
    ComboBox1.AddItem (range("'Sheet1'!A2").value)
End Sub

если элементы вашего выпадающего списка находятся где-то на листе Excel.

После создания события Activate вам нужно что-то, что в первую очередь откроет форму (с чем, я уверен, вы уже разобрались). Так что-то вроде этого:

Public Sub show_form()
    UserForm1.Show
End Sub

затем вы бы вызвали событие show_form с помощью кнопки или чего-то еще на листе Excel.

Полный пример

Вот полный пример:

Создайте новую книгу. Поместите некоторые данные в ячейки A1 и A2. Оставьте имя листа по умолчанию "Лист1"

Нажмите Alt F11, чтобы открыть сторону VBA. Нажмите Вставка > Пользовательская форма

Появляется UserForm1. Щелкните правой кнопкой мыши по нему и выберите «Просмотреть код». Вставьте это:

Private Sub UserForm_Activate()
    ComboBox1.AddItem (Range("'Sheet1'!A1").Value)
    ComboBox1.AddItem (Range("'Sheet1'!A2").Value)
End Sub

Дважды щелкните ThisWorkBook в дереве. Нажмите Вставить > Модуль. Вставьте это:

Public Sub show_form()
    UserForm1.Show
End Sub

Ваше дерево должно выглядеть так:

введите описание изображения здесь

Теперь в книге Excel добавьте фигуру, например, ящик. Щелкните правой кнопкой мыши по фигуре и выберите Назначить макрос. Выберите show_form.

Теперь попробуйте запустить. Щелкните по форме, которая у вас была. Это должно показать форму. Когда вы щелкните по раскрывающемуся списку, он должен иметь два заполненных элемента.

решение2

Вот полный пример:

Создайте новую книгу. Поместите некоторые данные в ячейки A1 и A2. Оставьте имя листа по умолчанию "Лист1"

Нажмите Alt F11, чтобы открыть сторону VBA. Нажмите Вставка > Пользовательская форма

Появляется UserForm1. Щелкните правой кнопкой мыши по нему и выберите «Просмотреть код». Вставьте это:

Private Sub UserForm_Activate() ComboBox1.AddItem (Range("'Лист1'!A1").Value) ComboBox1.AddItem (Range("'Лист1'!A2").Value) End Sub Дважды щелкните ThisWorkBook в дереве. Нажмите Вставить > Модуль. Вставьте это:

Публичная Подпрограмма show_form() UserForm1.Показать Конец Подпрограммы

Связанный контент