VBA UserForm

Excel VBA-gebruikersformulier

Gebruikersformulier in VBA zijn aangepaste, door de gebruiker gedefinieerde formulieren die zijn gemaakt om input van een gebruiker te ontvangen in de indeling van een formulier, het heeft verschillende sets bedieningselementen om toe te voegen, zoals tekstvakken, selectievakjes, labels, enz. Om een ​​gebruiker te begeleiden bij het invoeren van een waarde en het slaat de waarde op in het werkblad, elk deel van het gebruikersformulier heeft een unieke code.

Userform is een object binnen de Excel-interface en binnen dit gebruikersformulier kunnen we andere handige aangepaste dialoogvensters maken om de gegevens van de gebruiker te krijgen. Als u werkt met een macrobestand dat is gemaakt door uw senior of kan worden gedownload van internet, moet u een gebruikersformulier als dit hebben gezien.

In dit artikel laten we u zien hoe u een soortgelijk gebruikersformulier kunt maken om de gegevens van de gebruiker op te slaan.

Hoe maak je een gebruikersformulier aan?

Net als hoe u een nieuwe module invoegt, moet u op de INSERT-knop in Visual Basic Editor klikken om Userform in te voegen.

U kunt deze VBA Userform Excel-sjabloon hier downloaden - VBA Userform Excel-sjabloon

Zodra je hierop klikt, wordt ook het gebruikersformulier ingevoegd.

Voordat ik je vertel hoe je dit moet programmeren, laat ik je zien hoe je dit gebruikersformulier moet opmaken.

Gebruikersformulier opmaken

Door het gebruikersformulier te selecteren, druk op de F4-toets, het zal u het eigenschappenvenster tonen.

Met behulp van dit eigenschappenvenster kunnen we dit gebruikersformulier opmaken, we kunnen het een naam geven, we kunnen de kleur, randstijl enz. Wijzigen.

Probeer op deze manier andere eigenschappen uit om het gebruikersformulier te zien.

Nu voor dit gebruikersformulier Toolbox invoegen.

Nu zullen we een toolbox als deze zien.

Op dit moment is het gebruikersformulier zojuist ingevoegd, niet geprogrammeerd. Om te weten hoe het werkt, klikt u gewoon op de knop Uitvoeren, we zullen het formulier op het Excel-werkblad zien.

Gebruik nu het tekenlabel van ToolBox.

Voer de tekst in als werknemernaam binnen het label.

Voor dit label kunnen we dus opmaken met behulp van eigenschappen. Nu hebben we de tekst ingevoerd als “Medewerker Naam:” nu kunnen we dit zien in het eigenschappenvenster onder Bijschriften.

Voeg nog een label in. Om nog een label in te voegen, kunt u ofwel op een gereedschapskist klikken of u kunt het huidige label slepen door de Ctrl- toets ingedrukt te houden, u krijgt een replica van het huidige label.

Nu hebben we hetzelfde label.

Wijzig de naam in Werknemers-ID.

Voeg nu op dezelfde manier nog een label in en noem het "Afdeling".

Voeg nu vanuit de toolbox een tekstvak in.

Noem dit tekstvak EmpName in het eigenschappenvenster.

Voeg op deze manier nog twee tekstvakken in van respectievelijk Employee ID & Department. Geef die tekstvakken een naam volgens hun kop.

Doe het op dezelfde manier voor de afdeling.

Nu vanuit de toolbox Command Button invoegen.

Verander de naam van de opdrachtknop in "SubmitButton" en verander het bijschrift in "Submit".

Voeg nog een knop in en noem deze "Annuleren".

Om nu run te zien, drukt u op de knop run of gebruikt u de F5-toets en ziet u hoe uw gebruikersformulier eruitziet in Excel.

Nu komt het tot de vorm.

VBA-code

Nu voert de gebruiker hier gegevens in, dus we moeten dit programmeren om de gegevens op te slaan die de gebruiker op dit formulier heeft ingevoerd.

Dubbelklik op de knop VERZENDEN, u gaat naar het macrovenster met een automatisch gemaakte macro zoals hieronder.

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.