Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Att använda formulär i VBA ger dig en tom arbetsyta för att designa och ordna formulär för att passa dina behov när som helst. Låt oss lära oss med Download.vn hur man skapar automatiska datainmatningsformulär i Excel VBA !

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Skapa ett användarformulär med Excel VBA

Öppna en ny Excel-arbetsbok och utför några preliminära steg innan du börjar skapa datainmatningsformuläret.

Spara arbetsboken med önskat namn, glöm inte att ändra filtypen till Excel Macro-Enabled Workbook.

Lägg till 2 ark till denna arbetsbok med följande namn:

  1. Blad 1 : Hem
  2. Blad 2 : Studentdatabas

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Naturligtvis kan du ändra deras namn som du vill.

Lägg till en makrokontrollknapp för användarformulär i hemarket . Gå till fliken Utvecklare > klicka på knappen i listrutan Infoga . Placera den här knappen var som helst på kalkylarket.

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

När du har placerat knappen byter du namn på den. Högerklicka på den > klicka på Ny för att bifoga ett makro som visar formuläret.

Ange följande kod i redigeringsfönstret:

Sub Button1_Click()
UserForm.Show
End Sub

Med hemarket och studentdatabasen redo är det dags att designa användarformuläret. Navigera till fliken Utvecklare > klicka på Visual Basic för att öppna redigeraren . Alternativt kan du trycka på ALT+F11 för att öppna redigeringsfönstret.

Klicka på fliken Infoga och välj UserForm . Ett användarformulär är klart att användas. En medföljande verktygslåda öppnas med detta formulär, som innehåller alla verktyg som behövs för att utforma layouten.

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Välj Ram i den här verktygslådan . Dra den till användarformuläret och ändra storlek på den.

I (namn) kan du ändra namnet på denna ram. Om du vill visa namnet i gränssnittet kan du ändra namnet i kolumnen Bildtext .

Välj sedan Etikett från verktygslådan och sätt in 2 klistermärken i den här rutan. Byt namn på förnamnet till Application Number och det andra namnet till Student ID .

Använd samma byteprocess via bildtext i egenskaper . Se till att du väljer motsvarande etikett innan du byter namn på den.

Sätt sedan in 2 textrutor i klistermärkesrutan. De kommer att användas för att fånga användarinmatningar. Ändra namnen på de två textrutorna via kolumnen (Namn) i Egenskaper enligt följande:

  • Textbox1 : txtApplicationNo
  • Textbox2 : txtStudentID

Designa ett ramverk för studentinformation

Infoga en vertikal ram och lägg till 10 etiketter och 10 textrutor. Byt namn på etiketten enligt följande:

  • Etikett3 : Namn
  • Etikett 4 : Ålder
  • Etikett 5 : Adress
  • Etikett 6 : Telefon
  • Etikett 7 : Stad
  • Etikett8 : Land
  • Etikett9 : Födelsedatum
  • Etikett 10 : Postnummer
  • Etikett 11 : Nationalitet
  • Etikett 12 : Kön

Infoga motsvarande textruta bredvid dessa etiketter, infoga från två alternativknappsrutor från användarformulärets verktygslådan bredvid könsetiketten. Ändra deras namn till Man respektive Kvinna (med anpassad) .

Designa detaljerad kursram

Lägg till ytterligare en ram vertikalt och sätt in 6 klistermärken, 6 textrutor som motsvarar varje etikett. Byt namn på klistermärket enligt följande:

  • Label13 : Kursens namn
  • Etikett14 : Kurs-ID
  • Etikett15 : Startdatum för anmälan
  • Etikett16 : Slutdatum för registrering
  • Label17 : Kurslängd
  • Etikett18 : Avdelning

Designa betalningsdetaljram

Infoga en ny ram, lägg till en ny etikett och byt namn på den "Vill du uppdatera betalningsinformationen?" Infoga 2 alternativknappar ; döp om dem till Ja och Nej .

Lägg på samma sätt till en ny ram som innehåller 2 extra etiketter och 2 kombinationsrutor. Byt namn på etiketten enligt följande:

  • Label19 : Betalning mottagen
  • Label20 : Betalningssätt

Design av navigeringsbräda

I den sista ramen lägger du till 3 knappar från verktygslådan, som innehåller kod för att distribuera formulären. Byt namn på knapparna enligt följande:

  • Knapp1 : Spara detaljer
  • Knapp 2 : Rensa formulär
  • Knapp 3 : Avsluta

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Skriv automatisk formulärkod: Knapp för att spara information

Dubbelklicka på knappen Spara detaljer . I nästa modul, infoga följande kod:

Private Sub CommandButton2_Click()

‘declare the variables used throughout the codes
Dim sht As Worksheet, sht1 As Worksheet, lastrow As Long

'Add validations to check if character values are being entered in numeric fields.
If VBA.IsNumeric(txtApplicationNo.Value) = False Then
MsgBox "Only numeric values are accepted in the Application Number", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtStudentID.Value) = False Then
MsgBox "Only numeric values are accepted in the Student ID", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtAge.Value) = False Then
MsgBox "Only numeric values are accepted in Age", vbCritical
Exit Sub
End If

If VBA.IsNumeric(txtPhone.Value) = False Then
MsgBox "Only numeric values are accepted in Phone Number", vbCritical
Exit Sub
End If

If VBA.IsNumeric(Me.txtCourseID.Value) = False Then
MsgBox "Only numeric values are accepted in Course ID", vbCritical
Exit Sub
End If

'link the text box fields with the underlying sheets to create a rolling database
Set sht = ThisWorkbook.Sheets("Student Database")

'calculate last populated row in both sheets

lastrow = sht.Range("a" & Rows.Count).End(xlUp).Row + 1

'paste the values of each textbox into their respective sheet cells

With sht
.Range("a" & lastrow).Value = txtApplicationNo.Value
.Range("b" & lastrow).Value = txtStudentID.Value
.Range("c" & lastrow).Value = txtName.Value
.Range("d" & lastrow).Value = txtAge.Value
.Range("e" & lastrow).Value = txtDOB.Value
.Range("g" & lastrow).Value = txtAddress.Value
.Range("h" & lastrow).Value = txtPhone.Value
.Range("i" & lastrow).Value = txtCity.Value
.Range("j" & lastrow).Value = txtCountry.Value
.Range("k" & lastrow).Value = txtZip.Value
.Range("l" & lastrow).Value = txtNationality.Value
.Range("m" & lastrow).Value = txtCourse.Value
.Range("n" & lastrow).Value = txtCourseID.Value
.Range("o" & lastrow).Value = txtenrollmentstart.Value
.Range("p" & lastrow).Value = txtenrollmentend.Value
.Range("q" & lastrow).Value = txtcourseduration.Value
.Range("r" & lastrow).Value = txtDept.Value

End With
sht.Activate

'determine gender as per user's input
If optMale.Value = True Then sht.Range("g" & lastrow).Value = "Male"
If optFemale.Value = True Then sht.Range("g" & lastrow).Value = "Female"
'Display a message box, in case the user selects the Yes radio button

If optYes.Value = True Then
MsgBox "Please select the payment details below"
Else:
Exit Sub

End If

End Sub

Förklaring av koden i automatiserad form:

Textrutor innehåller text och numeriska värden, så du måste begränsa användarinmatning. Ansökningsnummer, student-id, ålder, telefon, kurs-id och kurslängd kommer endast att innehålla siffror, resten kommer att innehålla text.

Med hjälp av IF- kommandot utlöser koden ett felmeddelande om användaren anger ett tecken eller textvärde i något numeriskt fält.

Eftersom det finns felvalidering måste du länka textrutorna till cellerna i kalkylbladet.

Lastradvariablerna beräknar den senast fyllda raden och lagrar värdet inuti för flexibel användning.

Slutligen klistras dessa värden in i textrutan i det länkade Excel-arket.

Koda formuläret rensa och avsluta-knappen

I rensa -knappen måste du skriva kod som rensar de aktuella värdena från användarens formulär enligt följande:

With Me
.txtApplicationNo.Value = ""
.txtStudentID.Value = ""
..txtName.Value = ""
.txtAge.Value = ""
.txtAddress.Value = ""
.txtPhone.Value = ""
.txtCity.Value = ""
.txtCountry.Value = ""
.txtDOB.Value = ""
.txtZip.Value = ""
.txtNationality.Value = ""
.txtCourse.Value = ""
.txtCourseID.Value = ""
.txtenrollmentstart.Value = ""
.txtenrollmentend.Value = ""
.txtcourseduration.Value = ""
.txtDept.Value = ""
.cmbPaymentMode.Value = ""
.cmbPayment.Value = ""
.optFemale.Value = False
.optMale.Value = False
.optYes.Value = False
.optNo.Value = False

End With

I exit -knappen anger du följande kod i användarens formulär:

Private Sub CommandButton5_Click()
Unload Me
End Sub

I det sista steget måste du ange de sista kodbitarna för att skapa rullgardinsvärdena för kombinationsrutan (i kassaramen).

Private Sub UserForm_Activate()

With cmbPayment
.Clear
.AddItem ""
.AddItem "Yes"
.AddItem "No"
End With
With cmbPaymentMode

.Clear
.AddItem ""
.AddItem "Cash"
.AddItem "Card"
.AddItem "Check"
End With
End Sub

Ovan är hur du skapar ett formulär för automatisk datainmatning i Excel VBA . Hoppas artikeln är användbar för dig.


Instruktioner för att använda ABS-funktionen för att beräkna absolutvärde i Excel

Instruktioner för att använda ABS-funktionen för att beräkna absolutvärde i Excel

Instruktioner för att använda ABS-funktionen för att beräkna absolutvärde i Excel ABS-funktionen används för att beräkna absolutvärdet av ett tal eller en beräkning. Att använda ABS-funktionen är ganska enkelt

Instruktioner om hur man skriver övre index och nedre index i Excel

Instruktioner om hur man skriver övre index och nedre index i Excel

Instruktioner för hur man skriver övre index och nedre index i Excel Du måste ofta redigera matematiska formler i Excel men har svårt med uttryck.

Hur man numrerar sidor utan att börja från 1 i Excel

Hur man numrerar sidor utan att börja från 1 i Excel

Hur man numrerar sidor utan att börja från 1 i Excel Att numrera sidor i Excel är ganska enkelt, men att numrera sidor som börjar från ett annat nummer än 1 är svårt.

Instruktioner för att skriva ut upprepade titlar i Excel

Instruktioner för att skriva ut upprepade titlar i Excel

Instruktioner för att upprepade gånger skriva ut titlar i Excel För Excel-tabeller med många utskrivna sidor ställer man ofta in upprepad utskrift av titlar för att undvika förväxling med kalkylarket.

Hur man använder Count, Counta, Countif, Countifs räknefunktioner i Excel

Hur man använder Count, Counta, Countif, Countifs räknefunktioner i Excel

Hur man använder Count, Counta, Countif, Countifs räknefunktioner i Excel Räknefunktioner i Excel är uppdelade i många typer, de flesta av dessa funktioner är mycket enkla att använda för räkning.

Hur man använder Geografi-funktionen i Microsoft Excel

Hur man använder Geografi-funktionen i Microsoft Excel

Hur man använder Geografi-funktionen i Microsoft Excel, Med Geografi kan du komma åt geografiska data i ett Excel-kalkylblad. Nedan ser du hur du använder funktionen Geografi

Hur man beräknar procent i Excel

Hur man beräknar procent i Excel

Hur man beräknar procentsatser i Excel, Microsoft Excel ger dig många olika sätt att beräkna procentsatser. Låt oss lära oss med WebTech360 hur man beräknar procentsatser i Excel

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA

Hur man skapar ett formulär för automatisk datainmatning i Excel VBA, Att använda formulär i VBA ger dig en tom duk för att designa och ordna formulär för att passa alla behov

Hur man skapar ett vattenfallsdiagram i Excel

Hur man skapar ett vattenfallsdiagram i Excel

Hur man skapar ett vattenfallsdiagram i Excel, Vattenfallsdiagram används för att illustrera fluktuationen av delsummor i Excel. Låt oss lära oss hur man skapar diagram med WebTech360

Instruktioner för att dölja rader och kolumner i Excel

Instruktioner för att dölja rader och kolumner i Excel

Instruktioner för att dölja rader och kolumner i Excel Ibland är din Excel-fil för lång och du vill dölja oanvända delar eller av någon anledning inte vill visa den för andra.