Excel VBA-användarformulär - Hur skapar jag ett interaktivt användarformulär?

Innehållsförteckning

Excel VBA användarformulär

Användarformuläret i VBA är anpassade användardefinierade formulär som är gjorda för att ta inmatning från en användare i form av ett formulär, det har olika uppsättningar kontroller för att lägga till som textrutor, kryssrutor, etiketter, etc för att vägleda en användare att mata in ett värde och det lagrar värdet i kalkylbladet, varje del av användarformuläret har en unik kod med sig.

Användarform är ett objekt i Excel-gränssnittet, och inuti detta användarformulär kan vi skapa andra användbara anpassade dialogrutor för att få data från användaren. När du arbetar med en makrofil som skapats av din senior eller kan laddas ner från internet måste du ha sett ett användarformulär som detta.

I den här artikeln visar vi dig hur du skapar ett liknande användarformulär för att lagra data från användaren.

Hur skapar jag användarformulär?

Liksom hur du sätter in en ny modul på samma sätt måste du klicka på INSERT-knappen i Visual Basic Editor för att infoga användarform.

Så snart du klickar på detta kommer användarformuläret att infogas.

Innan jag berättar för dig hur du programmerar detta, låt mig visa dig hur du formaterar detta användarformulär.

Formatera användarformulär

Genom att välja användarformulär trycker du på F4-tangenten så visas egenskaperfönstret.

Med hjälp av detta egenskapsfönster kan vi formatera detta användarformulär. Vi kan namnge det. Vi kan ändra färg, kantstil etc. …

Så här, prova andra egenskaper för att få syn på användarformuläret.

Nu för detta användarformulär, sätt in Verktygslåda.

Nu ser vi en verktygslåda som den här.

För närvarande är användarformuläret bara infogat, inte programmerat. För att veta hur det fungerar, klicka bara på kör-knappen. Vi ser formuläret på Excel-kalkylbladet.

Använd nu verktygslådans ritningsetikett.

Ange texten som anställds namn i etiketten.

För den här etiketten kan vi formatera med hjälp av egenskaper. Nu har vi skrivit in texten "Anställds namn:" nu kan vi se detta i fastighetsfönstret under Bildtexter.

Sätt in ytterligare en etikett. För att infoga ytterligare en etikett kan du antingen klicka på en verktygslåda eller så kan du dra den aktuella etiketten genom att hålla ned Ctrl- tangenten. Du kommer att ha en kopia av den aktuella etiketten.

Nu kommer vi att ha samma etikett.

Ändra namnet till anställd-ID.

Sätt nu på samma sätt en etikett till och namnge den som "Avdelning".

Nu, från verktygslådan, infoga en textruta.

Namnge denna textruta som EmpName i egenskapsfönstret.

Så här infogar du ytterligare två textrutor från medarbetar-ID respektive avdelning. Namnge dessa textrutor enligt deras rubrik.

På samma sätt gör det för avdelningen.

Nu från verktygslådan, sätt in kommandoknappen.

Ändra kommandoknappens namn till “SubmitButton” och ändra texten till “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 är namnet vi gav användarformuläret. MyUserForm.Hide betyder att genom att klicka på AVBRYT-knappen kommer det att dölja användarformuläret.

Ok, skapa nu en sådan mall i kalkylbladet.

Ta bort alla andra ark i arbetsboken utom detta mallark.

Gå nu till Visual Basic Editor.

Och kör makrot med F5-tangenten eller manuellt, vi ser användarformuläret framför oss.

Ange anställds namn, anställd id och avdelningsnamn.

Nu, om du klickar på SUBMIT-knappen kommer den att lagra värdena i den mall vi har skapat.

Så här kan du fortsätta att skriva in namnen. Användarformuläret fortsätter att lagra de värden som anges av användaren i de angivna cellerna.

Så genom att använda USER FORM kan vi faktiskt skapa underbara projekt för att få informationen från användaren.

Intressanta artiklar...