Потребителска форма на Excel VBA
Потребителската форма във VBA са персонализирани потребителски дефинирани форми, които са направени така, че да вземат входни данни от потребител във формата на формуляр, той има различни набори от контроли за добавяне, като текстови полета, квадратчета за етикети и др., За да насочва потребителя към въвеждане на стойност и той съхранява стойността в работния лист, всяка част от потребителската форма има уникален код със себе си.
Userform е обект в интерфейса на Excel и вътре в този потребителски формуляр можем да създадем други полезни диалогови прозорци, за да получим данните от потребителя. Когато работите с макро файл, който е създаден от вашия старши или може да бъде изтеглен от интернет, трябва да сте виждали потребителска форма като тази.

В тази статия ще ви покажем как да създадете подобна потребителска форма за съхраняване на данните от потребителя.
Как да създам потребителска форма?
Подобно на това как вмъквате нов модул по подобен начин, трябва да кликнете върху бутона INSERT в Visual Basic Editor, за да вмъкнете Userform.
Веднага щом кликнете върху това, потребителският формуляр също ще бъде вмъкнат.

Преди да ви кажа как да програмирате това, нека ви покажа как да форматирате тази потребителска форма.
Форматиране на потребителска форма
Като изберете потребителската форма, натиснете клавиша F4, той ще ви покаже прозореца за свойства.

Използвайки този прозорец за свойства, можем да форматираме тази потребителска форма. Можем да го назовем. Можем да променим цвета, стила на границата и т.н. …


По този начин опитайте други свойства, за да видите погледа на потребителската форма.
Сега за тази потребителска форма вмъкнете Toolbox.

Сега ще видим кутия с инструменти като тази.

В този момент потребителската форма просто се вмъква, а не се програмира. За да разберете как работи, просто кликнете върху бутона за изпълнение. Ще видим формата на работния лист на Excel.

Сега използваме етикета за рисуване ToolBox.

Въведете текста като име на служител в етикета.

За този етикет, за да можем да форматираме с помощта на свойства. Сега въведохме текста като „Име на служител:“, сега можем да видим това в прозореца на свойствата под надписи.

Поставете още един етикет. За да вмъкнете още един етикет, можете или да щракнете върху кутия с инструменти, или да плъзнете текущия етикет, като задържите клавиша Ctrl . Ще имате реплика на текущия етикет.

Сега ще имаме същия етикет.

Променете името на Employee ID.

Сега по същия начин поставете още един етикет и го наречете „Отдел“.

Сега от кутията с инструменти вмъкнете текстово поле.

Наименувайте това текстово поле като EmpName в прозореца със свойства.

По този начин вмъкнете още две текстови полета, съответно от ID на служител и отдел. Назовете тези текстови полета според заглавието им.

По същия начин го направете за отдела.

Сега от кутията с инструменти вмъкнете Command Button.

Променете името на командния бутон на „SubmitButton“ и променете надписа на „Submit“.

Insert one more button and call it “Cancel.”

Now just to see run, press the run button or use the F5 key and see how your userform looks like in Excel.

Now it is coming to the shape.
VBA Code
Now the user will enter data in this, so we need to program this to store the data entered by the user on this form.
Double click on the SUBMIT button, it will take you to the macro window with an auto-created macro like the below.

It says SubmitButton click, remember we had given a name for the 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 the Employee ID text box.
- Dept.Value this is the department text box name.
So, on the click on the submit button, it will store the values in the mentioned cells.
Now double click on the 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 е името, което дадохме на потребителската форма. MyUserForm.Hide означава, че при щракване върху бутона ОТМЕНЯЙ, той ще скрие потребителската форма.
Добре, сега създайте шаблон като този в работния лист.

Изтрийте всички останали листове в работната книга с изключение на този лист с шаблони.
Сега отидете на Visual Basic Editor.

И стартирайте макроса с помощта на клавиша F5 или ръчно, ще видим потребителска форма пред нас.

Въведете името на служителя, идентификационния номер на служителя и името на отдела.

Сега, ако кликнете върху бутона ИЗПРАТИ, той ще съхрани стойностите в шаблона, който сме създали.

По този начин можете да продължите да въвеждате имената. Потребителската форма ще продължи да съхранява стойностите, въведени от потребителя, в посочените клетки.
Така че, използвайки ФОРМА ПОТРЕБИТЕЛ, ние всъщност можем да създадем прекрасни проекти, за да получим информацията от потребителя.