Excel VBA felhasználói forma | Hogyan hozzunk létre interaktív felhasználói űrlapot?

Excel VBA Userform

A felhasználói forma a VBA-ban testreszabott, felhasználó által definiált űrlapok, amelyek úgy készülnek, hogy a felhasználótól egy űrlap formátumában vegyenek részt. Különböző vezérlőkészletekkel rendelkezik, például szövegdobozokkal, jelölőnégyzetekkel ellátott címkékkel stb. és az értéket a munkalapon tárolja, a felhasználói űrlap minden részének egyedi kódja van.

A Userform egy objektum az Excel felületén és ezen a felhasználói űrlapon belül, létrehozhatunk más hasznos egyéni párbeszédpaneleket is, hogy megkapjuk az adatokat a felhasználótól. Ha egy idősebb által készített vagy az internetről letölthető makrófájllal dolgozik, akkor biztosan látott egy ilyen felhasználói űrlapot.

Ebben a cikkben megmutatjuk, hogyan hozhat létre hasonló felhasználói űrlapot a felhasználó adatainak tárolásához.

Hogyan készítsünk Userform-ot?

Hasonlóan ahhoz, ahogyan új modult illeszt be, hasonlóan, a Visform Basic Editorban kattintson az INSERT gombra a Userform beszúrásához.

Ezt a VBA Userform Excel sablont innen töltheti le - VBA Userform Excel sablont

Amint erre kattint, a felhasználói űrlap is be lesz illesztve.

Mielőtt elmondanám, hogyan kell ezt programozni, hadd mutassam meg, hogyan formázza ezt a felhasználói űrlapot.

A Userform formázása

A felhasználói forma kiválasztásával nyomja meg az F4 billentyűt, és megjeleníti a tulajdonságok ablakot.

Ennek a tulajdonságablaknak a segítségével formázhatjuk ezt a felhasználói űrlapot, megnevezhetjük, megváltoztathatjuk a színt, a szegélystílust stb.

Így próbálkozzon más tulajdonságokkal is, hogy lássa a userform látványát.

Most ehhez a felhasználói formához helyezze be az Eszköztárat.

Most egy ilyen eszköztárat fogunk látni.

Ebben a pillanatban a felhasználói forma éppen beillesztésre kerül, és nincs beprogramozva. Ha tudni szeretné, hogyan működik, kattintson a futtatás gombra, látni fogja az űrlapot az excel munkalapon.

Most a ToolBox rajzcímkét használja.

Írja be a Szöveget alkalmazott névként a címkébe.

Ehhez a címkéhez, így a tulajdonságok segítségével formázhatunk. Most beírtuk a szöveget „Munkavállaló neve” néven: ezt láthatjuk a tulajdonságok ablakban a Feliratok alatt.

Helyezzen be még egy címkét. Még egy címke beszúrásához kattintson az eszköztárra, vagy húzza az aktuális címkét a Ctrl billentyű lenyomásával , és megkapja az aktuális címke másolatát.

Most ugyanaz a címke lesz.

Változtassa a nevet Employee ID-re.

Most hasonlóképpen helyezzen be még egy címkét, és nevezze el „Osztálynak”.

Az eszköztárból helyezzen be egy szövegdobozt.

Nevezze el ezt a szövegdobozt EmpName néven a tulajdonságok ablakban.

Ehhez illesszen be még két szövegdobozt az Employee ID & Department osztályából. Nevezze el ezeket a szövegdobozokat a címsoruk szerint.

Hasonlóképpen tegye meg az osztály számára.

Most az eszköztárból helyezze be a Parancs gombot.

Változtassa meg a Parancs gomb nevét „SubmitButton” -ra, és változtassa meg a „Submit” feliratot .

Helyezzen be még egy gombot, és hívja „Cancel” -nek.

Csak a futás megtekintéséhez nyomja meg a Futtatás gombot vagy használja az F5 billentyűt, és nézze meg, hogyan néz ki a felhasználói forma az Excelben.

Most jön a formája.

VBA kód

Most a felhasználó ebbe írja be az adatokat, ezért ezt be kell programoznunk a felhasználó által ezen az űrlapon tárolt adatok tárolására.

Kattintson duplán a SUBMIT gombra, így a makróablakba juthat egy automatikusan létrehozott makróval, mint az alábbiak.

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.