VBA UserForm - Как создать пользовательскую форму в Excel, используя код VBA?

Содержание:

Anonim

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 Excel

Excel 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. Вы также можете просмотреть наши другие предлагаемые статьи -

  1. VBA TextBox
  2. Создать шаблон Excel
  3. VBA List Box
  4. Создать электронную таблицу в Excel
  5. Код VBA в Excel
  6. Excel VBA Закрыть UserForm