Я создал форму пользователя в Excel 2016, которая содержит несколько полей со списком, несколько текстовых полей, два переключателя и кнопку отправки. Во-первых, как получить поля со списком для ссылки на список, который я уже настроил?
2 ответа
Вы можете запустить событие, используя обработчик события form_activate. Щелкните правой кнопкой мыши на вашей пользовательской форме в окне проекта и нажмите "Просмотреть код"
Вставьте что-то подобное в окно кода:
Private Sub UserForm_Activate()
ComboBox1.AddItem ("1")
ComboBox1.AddItem ("2")
ComboBox1.AddItem ("3")
End Sub
Это загрузит предметы в выпадающий список. Вы также можете изменить его на что-то вроде этого:
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. Оставьте имя листа по умолчанию "Sheet1"
Нажмите 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.
Теперь попробуйте войти. Нажмите на форму, которую вы имели. Это должно показать форму. Когда вы щелкаете по раскрывающемуся списку, в нем должны быть два элемента.
Вот полный пример:
Создать новую рабочую книгу. Положите некоторые данные в A1 и A2. Оставьте имя листа по умолчанию "Sheet1"
Нажмите Alt F11, чтобы открыть сторону VBA. нажмите Вставить> Пользовательская форма
UserForm1 появляется. Щелкните правой кнопкой мыши на нем и выберите «Просмотреть код». Вставьте это:
Частный Sub UserForm_Activate() ComboBox1.AddItem (Range ("'Sheet1'!A1").Значение) ComboBox1.AddItem (Range ("'Sheet1'!A2").Значение) End Sub Дважды щелкните ThisWorkBook в дереве. Нажмите Вставить> Модуль. Вставьте это:
Public Sub show_form() UserForm1.Show End Sub