Excel VBA brugerformular | Hvordan oprettes en interaktiv brugerform?

Excel VBA brugerformular

Brugerformular i VBA er tilpassede brugerdefinerede formularer, som er lavet til at tage input fra en bruger i form af en formular, den har forskellige sæt kontrolelementer, der skal tilføjes, såsom tekstfelter, afkrydsningsfeltetiketter osv. For at guide en bruger til at indtaste en værdi og den gemmer værdien i regnearket, hver del af brugerformularen har en unik kode med sig.

Brugerform er et objekt i Excel-grænsefladen, og inden i denne brugerformular kan vi oprette andre nyttige brugerdefinerede dialogbokse for at få data fra brugeren. Når du arbejder med en makrofil, der er oprettet af din senior eller kan downloades fra internettet, skal du have set en brugerform som denne.

I denne artikel viser vi dig, hvordan du opretter en lignende brugerform til at gemme data fra brugeren.

Hvordan oprettes brugerformular?

Ligesom hvordan du indsætter et nyt modul på lignende måde, skal du klikke på INSERT-knappen i Visual Basic Editor for at indsætte brugerform.

Du kan downloade denne VBA Userform Excel-skabelon her - VBA Userform Excel-skabelon

Så snart du klikker på dette, indsættes også brugerformularen.

Før jeg fortæller dig, hvordan du programmerer dette, lad mig vise dig, hvordan du formaterer denne brugerform.

Formatering af brugerformular

Ved at vælge brugerformularen tryk på F4-tasten, den viser dig egenskabsvinduet.

Ved hjælp af dette egenskabsvindue kan vi formatere denne brugerform, vi kan navngive den, vi kan ændre farve, kantstil osv ...

Ligesom dette, prøv andre egenskaber for at få synet af brugerform.

Nu til denne brugerform indsæt værktøjskasse.

Nu ser vi en værktøjskasse som denne.

I øjeblikket er brugerformularen indsat, ikke programmeret. For at vide, hvordan det fungerer, skal du blot klikke på knappen Kør, vi ser formularen på Excel-regnearket.

Brug nu ToolBox-tegnetiketten.

Indtast teksten som medarbejdernavn inde i etiketten.

For denne etiket kan vi formatere ved hjælp af egenskaber. Nu har vi indtastet teksten som “Medarbejdernavn:” nu kan vi se dette i egenskabsvinduet under Billedtekster.

Indsæt endnu en etiket. For at indsætte endnu en etiket kan du enten klikke på en værktøjskasse, eller du kan trække den aktuelle etiket ved at holde Ctrl- tasten nede, du får en replika af den aktuelle etiket.

Nu får vi den samme etiket.

Skift navnet til medarbejder-id.

Indsæt nu på samme måde endnu en etiket, og navngiv den som "Afdeling".

Indsæt nu et tekstfelt fra værktøjskassen.

Navngiv dette tekstfelt som EmpName i egenskabsvinduet.

Ligesom dette indsæt to yderligere tekstfelter fra henholdsvis medarbejder-id og afdeling. Navngiv disse tekstfelter efter deres overskrift.

Tilsvarende gør det for afdelingen.

Indsæt nu kommandoknappen fra værktøjskassen.

Skift navnet på kommandoknappen til "SubmitButton", og skift billedteksten til "Submit".

Indsæt endnu en knap, og kald den "Annuller".

Bare for at se kør skal du trykke på køreknappen eller bruge F5-tasten og se, hvordan din brugerform ser ud i Excel.

Nu kommer det til formen.

VBA-kode

Nu vil brugeren indtaste data i dette, så vi er nødt til at programmere dette for at gemme de data, der er indtastet af brugeren på denne formular.

Dobbeltklik på knappen SUBMIT, det fører dig til makrovinduet med en automatisk oprettet makro som nedenfor.

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.