Форма користувача Excel VBA | Як створити інтерактивну форму користувача?

Форма користувача Excel VBA

Userform у VBA - це налаштовані користувачем форми, які створені для отримання введення від користувача у форматі форми, він має різні набори елементів керування, які можна додати, такі як текстові поля, позначки, ярлики тощо, щоб направляти користувача до введення значення і він зберігає значення на аркуші, кожна частина форми користувача має унікальний код.

Userform - це об'єкт в інтерфейсі Excel, і всередині цієї форми ми можемо створити інші корисні власні діалогові вікна, щоб отримати дані від користувача. Коли ви працюєте з файлом макросів, який створюється вашим старшим або може бути завантажений з Інтернету, ви повинні бачити таку форму користувача.

У цій статті ми покажемо вам, як створити подібну форму користувача для зберігання даних від користувача.

Як створити форму користувача?

Як і те, як ви вставляєте новий модуль аналогічним чином, вам потрібно натиснути кнопку ВСТАВИТИ у редакторі Visual Basic, щоб вставити Userform.

Завантажити цей шаблон VBA Userform Excel можна тут - Шаблон VBA Userform Excel

Як тільки ви натиснете на це, також буде вставлена ​​форма користувача.

Перш ніж я розповім вам, як запрограмувати це, дозвольте мені показати вам, як форматувати цю форму користувача.

Форматування форми користувача

Вибравши форму користувача, натисніть клавішу F4, вона покаже вам вікно властивостей.

За допомогою цього вікна властивостей ми можемо відформатувати цю форму користувача, ми можемо назвати її, ми можемо змінити колір, стиль меж тощо ...

Подібно до цього спробуйте інші властивості, щоб побачити форму користувача.

Тепер для цієї форми користувача вставте Toolbox.

Зараз ми побачимо такий набір інструментів.

На даний момент форма користувача просто вставляється не запрограмована. Щоб дізнатися, як це працює, просто натисніть на кнопку запуску, ми побачимо форму на аркуші Excel.

Тепер використовуємо мітку малювання ToolBox.

Введіть текст як ім'я працівника всередині ярлика.

Для цієї мітки ми можемо форматувати за допомогою властивостей. Тепер ми ввели текст як «Ім'я працівника:», тепер ми можемо побачити це у вікні властивостей під Титрами.

Вставте ще одну етикетку. Щоб вставити ще одну мітку, ви можете натиснути на панель інструментів або перетягнути поточну мітку, утримуючи клавішу Ctrl , у вас буде копія поточної мітки.

Тепер у нас буде однаковий ярлик.

Змініть ім’я на Ідентифікатор працівника.

Тепер аналогічно вставте ще одну етикетку та назвіть її «Відділ».

Тепер із панелі інструментів вставте текстове поле.

Назвіть це текстове поле як EmpName у вікні властивостей.

Подібно до цього, вставте ще два текстові поля в ідентифікатора працівника та відділу відповідно. Назвіть ці текстові поля відповідно до їх заголовка.

Аналогічним чином зробіть це для Департаменту.

Тепер із панелі інструментів вставте кнопку команди.

Змініть назву командної кнопки на “SubmitButton” та змініть підпис на “Submit”.

Вставте ще одну кнопку і назвіть її “Скасувати”.

Тепер просто, щоб побачити запуск, натисніть кнопку запуску або використовуйте клавішу F5 і подивіться, як виглядає ваша форма користувача в Excel.

Зараз справа доходить до форми.

Код VBA

Тепер користувач буде вводити дані в це, тому нам потрібно запрограмувати це для зберігання даних, введених користувачем у цій формі.

Двічі клацніть на кнопку ПОДАТИ, це призведе до вікна макросу з автоматично створеним макросом, як показано нижче.

It says SubmitButton click, remember we had given a name for SUBMIT button as SubmitButton.

So, whenever we want to call this button we can call this by this name (submit button). Inside this macro copy and paste the below code.

Code:

 Private Sub SubmitButton_Click() Dim LR As Long LR = Cells(Rows.Count, 1).End(xlUp).Row + 1 Cells(LR, 1).Value = EmpName.Value Cells(LR, 2).Value = EmpID.Value Cells(LR, 3).Value = Dept.Value EmpName.Value = "" EmpID.Value = "" Dept.Value = "" End Sub 

  • EmpName.Value here EmpName is the text box name we had given while creating the employee name text box.
  • EmpID.Value here EmpID is the text box name of Employee ID text box.
  • Dept.Value this is department text box name.

So, on the click on submit button it will store the values in the mentioned cells.

Now double click on Cancel button, this will also show you the auto macro name like this.

Copy the below code and paste.

Code:

 Private Sub CancelButton_Click() MyUserForm.Hide End Sub 

MyUserForm is the name we had given to the userform. MyUserForm.Hide means on the click on the CANCEL button it will hide the userform.

Ok, now create a template like this in the worksheet.

Delete all the other sheets in the workbook except this template sheet.

Now go to Visual Basic Editor.

And run the macro using F5 key or manually, we will see user form in front of us.

Enter the employee name, employee id, and Department name.

Now if you click on the SUBMIT button, it will store the values on to the template we have created.

Like this you can keep entering the names, userform will keep storing the values entered by the user in the specified cells.

So by using USER FORM, we can actually create wonderful projects to get the information from the user.