Excel VBA UserForm
В Excel VBA у нас есть очень полезный инструмент, который называется UserForm. Это практичный способ получения информации от пользователя. Что такое пользовательская форма в VBA? UserForm похож на окно мастера или диалоговое окно, в которое мы просим пользователей вводить данные, и в нем есть некоторые инструкции.
VBA UserForm также встроен в Excel и может быть создан разработчиками. Чтобы использовать пользовательскую форму VBA, сначала нам нужно активировать вкладку разработчика на вкладке «Параметры». Как только вкладка разработчика активирована, мы можем перейти в Excel VBA и создать пользовательские формы. Пользовательские формы используются для хранения данных в Excel. Это можно сравнить с формами Google, где у нас есть определенный набор инструкций и мы просим пользователя ввести данные в соответствии с инструкциями.
UserForm широко используется повсеместно. В UserForm введенные пользователем данные сохраняются в соответствующем столбце. Это самый практичный способ в Excel получить информацию от пользователя и сохранить данные в Excel относительно в правильном месте.
Как создать пользовательскую форму в Excel VBA?
Ниже приведены различные примеры создания пользовательской формы в Excel с использованием кода VBA.
Вы можете скачать этот шаблон VBA UserForm Excel здесь - шаблон VBA UserForm ExcelExcel VBA UserForm - Пример № 1
Во-первых, давайте перейдем к основам пользовательской формы. Как просмотреть пользовательскую форму и что такое пользовательская форма.
- В рабочем листе Excel перейдите на вкладку Разработчик и щелкните редактор Visual Basic.
- Теперь, как нам добавить пользовательскую форму на этот пустой экран? В инструменте вставки щелкните UserForms.
- Откроется новое окно мастера, и оно пустое, что является нашей пустой формой пользователя.
- В настоящее время он называется userform1, поскольку мы не дали ему никакого имени. Мы можем сделать это, изменив его имя в опции свойств в левой части экрана.
- Давайте изменим имя на образец формы и посмотрим результат.
Наша пользовательская форма теперь называется образцом.
- Теперь давайте попробуем изменить цвет пользовательской формы. В панели инструментов свойств у нас есть выпадающий список, названный как цвет спины, мы можем выбрать любой набор цветов, который мы хотим.
- После того, как я выбрал опцию для черного цвета, мой образец пользовательской формы был изменен следующим образом:
- Как мы запускаем эту форму пользователя? Убедитесь, что мы нажали на саму пользовательскую форму и нажмите кнопку запуска, показанную на скриншоте ниже. Когда мы нажимаем кнопку запуска, мы видим, что на экране Excel появляется пустая форма.
У него нет других вариантов, кроме как закрыть его, потому что мы не добавили к нему никаких других кнопок.
Excel VBA UserForm - Пример № 2
Давайте посмотрим, как добавить кнопки в пользовательскую форму для ввода данных в Excel VBA. Мы сделаем простую пользовательскую форму VBA, в которой мы попросим пользователя ввести его имя, возраст и пол. Этапы создания такой пользовательской формы следующие.
- В рабочем листе Excel перейдите на вкладку разработчика и нажмите на редактор Visual Basic.
- Теперь на вкладке вставки нажмите на пользовательскую форму, чтобы открыть окно пользовательской формы.
- Нам нужно добавить кнопки в эту форму пользователя, чтобы получить ввод от пользователя. Мы видим, что панель инструментов также открыта рядом с нашей пользовательской формой, которая имеет кнопки управления.
Эта панель инструментов содержит различные элементы управления, которые используются в пользовательских формах.
- Так что для нашего примера нам нужно, чтобы имя, возраст и пол были введены пользователем. Нам в основном нужны три метки, которые будут представлять наши инструкции. Нажмите на ярлыки .
- Наведите указатель мыши на форму пользователя, щелкните и перетащите, чтобы вставить метку в форму пользователя.
- В настоящее время он назван как метка 1, нам нужно изменить имя метки на « Имя » для инструкции для пользователя. Нажмите на ярлык и удалите предоставленное имя по умолчанию и вставьте новое имя.
- Теперь вставьте ярлык для возраста и пола аналогичным образом и переименуйте их.
- Теперь рядом с метками нам нужно вставить текстовое поле, чтобы пользователь мог вводить значения. На панели инструментов управления, нажмите на TextBox
- Наведите указатель мыши на ярлыки и нажмите на форму.
- Теперь давайте вставим командную кнопку в форму пользователя, которая будет хранить данные для нас. Из элементов управления панели инструментов нажмите CommandButton .
- Наведите указатель мыши на форму.
- Измените заголовок CommandButton1 на «Отправить» .
- Вставьте одну кнопку CommandButton и назовите ее « Отмена ».
- Следующий шаг - переименовать каждое из текстовых полей, чтобы мы могли легко использовать их в наших кодах. Для имени переименуйте текстовое поле для него как Nameva для значения имени и для age как Ageva для пола аналогично Genderva для значения пола,
- Запустите пользовательскую форму, нажав на кнопку воспроизведения или нажав клавишу F5.
- В листе Excel запишите заголовок для данных следующим образом.
- Дважды щелкните по кнопке отправки, которая откроет нам окно кода для кнопки отправки следующим образом.
Код:
Частный Sub CommandButton1_Click () End Sub
- В окне кода объявите переменную, как показано ниже.
Код:
Private Sub CommandButton1_Click () Dim A As Long End Sub
- Теперь давайте переместим первую свободную ячейку в первом столбце со следующим кодом.
Код:
Private Sub CommandButton1_Click () Dim A As Long A = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 End Sub
- Давайте сохраним значение, предоставленное пользователем в листе с помощью следующего кода.
Код:
Private Sub CommandButton1_Click () Dim A As Long A = Cells (Rows.Count, 1) .End (xlUp) .Row + 1 Cells (A, 1) .Value = Nameva.Value Cells (A, 2) .Value = Ageva .Value Ячейки (A, 3) .Value = Genderva.Value Nameva.Value = "" Ageva.Value = "" Genderva.Value = "" End Sub
- Теперь дважды нажмите на кнопку «Отмена», это также покажет вам имя автоматического макроса, как это.
Код:
Частный Sub CommandButton2_Click () End Sub
- Используйте приведенный ниже код.
Код:
Приватный Sub CommandButton2_Click () UserForm1.Hide End Sub
- Запустите пользовательскую форму с помощью кнопки запуска или нажатием клавиши F5, и мы получим следующий результат.
- Введите значения в текстовые поля следующим образом.
- Нажмите кнопку Отправить, чтобы увидеть результат в таблице Excel следующим образом.
Вот как мы создаем форму пользователя для получения данных от пользователя.
То, что нужно запомнить
- Пользовательские формы встроены или могут быть созданы разработчиком в VBA.
- Свойства пользовательской формы можно изменить в окне мастера свойств в VBA.
- Пользовательские формы должны иметь кнопки для получения данных от пользователя.
- Для запуска пользовательской формы убедитесь, что пользовательская форма выбрана.
Рекомендуемые статьи
Это руководство по VBA UserForm. Здесь мы обсудим, как создать пользовательскую форму в Excel, используя код VBA, а также некоторые практические примеры и загружаемый шаблон Excel. Вы также можете просмотреть наши другие предлагаемые статьи -
- VBA TextBox
- Создать шаблон Excel
- VBA List Box
- Создать электронную таблицу в Excel
- Код VBA в Excel
- Excel VBA Закрыть UserForm