Notkun eyðublaða í VBA gefur þér auðan striga til að hanna og raða eyðublöðum að þínum þörfum hvenær sem er. Við skulum læra með Download.vn hvernig á að búa til sjálfvirka gagnafærslueyðublöð í Excel VBA !
Búðu til notendaform með Excel VBA
Opnaðu nýja Excel vinnubók og gerðu nokkur bráðabirgðaskref áður en þú byrjar að búa til gagnafærslueyðublaðið.
Vistaðu vinnubókina með því nafni sem þú vilt, ekki gleyma að breyta skráargerðinni í Excel Macro-Enabled Workbook.
Bættu 2 blöðum við þessa vinnubók með eftirfarandi nöfnum:
- Blað 1 : Heim
- Sheet2 : Gagnagrunnur nemenda
Auðvitað geturðu breytt nöfnum þeirra eins og þú vilt.
Í heimablaðinu skaltu bæta við notandaeyðublaði makróstýringarhnappi. Farðu á Developer flipann > smelltu á Hnappur í fellilistanum Setja inn . Settu þennan hnapp hvar sem er á töflureikninum.
Eftir að þú hefur sett hnappinn skaltu endurnefna hann. Hægrismelltu á það > smelltu á Nýtt til að hengja við fjölva sem sýnir eyðublaðið.
Sláðu inn eftirfarandi kóða í ritstjóraglugganum:
Sub Button1_Click()
UserForm.Show
End Sub
Með heimablaðið og nemendagagnagrunninn tilbúinn er kominn tími til að hanna notendaeyðublaðið. Farðu í Developer flipann > smelltu á Visual Basic til að opna ritilinn . Að öðrum kosti geturðu ýtt á ALT+F11 til að opna ritstjóragluggann.
Smelltu á Setja inn flipann og veldu UserForm . Notendaeyðublað er tilbúið til notkunar. Meðfylgjandi verkfærakassi opnast með þessu eyðublaði sem inniheldur öll þau verkfæri sem þarf til að hanna útlitið.
Í þessum verkfærakistu velurðu Frame . Dragðu það á notendaformið og breyttu stærðinni.
Í (nafn) geturðu breytt nafni þessa ramma. Til að birta nafnið á framendanum geturðu breytt nafninu í dálknum Skýringartexti .
Næst skaltu velja Label úr verkfærakistunni og setja 2 límmiða í þennan reit. Endurnefna fornafnið í umsóknarnúmer og annað nafnið í Nemendaauðkenni .
Notaðu sama endurnefnaferli með Caption in Properties . Gakktu úr skugga um að þú veljir samsvarandi merki áður en þú endurnefnir það.
Næst skaltu setja 2 textareiti inn í límmiðaboxið. Þau verða notuð til að fanga inntak notenda. Breyttu nöfnum textareitanna tveggja í gegnum (Name) dálkinn í Properties sem hér segir:
- Textbox1 : txtApplicationNo
- Textbox2 : txtStudentID
Hönnun upplýsingaramma nemenda
Settu inn lóðréttan ramma og bættu við 10 merkimiðum og 10 textareitum. Endurnefna merkimiðann sem hér segir:
- Merki 3 : Nafn
- Merki 4 : Aldur
- Merki 5 : Heimilisfang
- Merki6 : Sími
- Merki 7 : Borg
- Merki 8 : Land
- Merki9 : Fæðingardagur
- Merki10 : Póstnúmer
- Merki11 : Þjóðerni
- Merki 12 : Kyn
Settu samsvarandi textareit við hlið þessara merkimiða, settu inn úr tveimur valmöguleikahnappareitum úr notendaformi verkfærakassans við hlið kynmerkisins. Breyttu nöfnum þeirra í karl og kvenkyns (með sérsniðnum) í sömu röð.
Hannaðu nákvæman ramma námskeiðsins
Bættu öðrum ramma við lóðrétt og settu inn 6 límmiða, 6 textareiti sem samsvara hverjum merkimiða. Endurnefna límmiðann sem hér segir:
- Merki13 : Nafn námskeiðs
- Merki14 : Kennitala námskeiðs
- Label15 : Upphafsdagur skráningar
- Label16 : Lokadagur skráningar
- Merki17 : Lengd námskeiðs
- Merki18 : Deild
Hönnun greiðsluupplýsingar ramma
Settu nýjan ramma inn, bættu við nýjum merkimiða og endurnefna hann "Viltu uppfæra greiðsluupplýsingar?" Settu inn 2 valmöguleikahnappa ; endurnefna þá í Já og Nei .
Á sama hátt skaltu bæta við nýjum ramma sem inniheldur 2 viðbótarmerki og 2 samsetta kassa. Endurnefna merkimiðann sem hér segir:
- Merki19 : Greiðsla móttekin
- Label20 : Greiðslumáti
Hönnun leiðsöguborðs
Í síðasta rammanum skaltu bæta við 3 hnöppum úr verkfærakistunni sem inniheldur kóða til að dreifa eyðublöðunum. Endurnefna hnappana sem hér segir:
- Hnappur1 : Vista upplýsingar
- Hnappur 2 : Hreinsaðu form
- Hnappur 3 : Hætta
Skrifaðu sjálfvirkan eyðublaðskóða: Hnappur til að vista upplýsingar
Tvísmelltu á Vista upplýsingar hnappinn . Í næstu einingu skaltu setja inn eftirfarandi kóða:
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
Útskýring á kóðanum á sjálfvirku formi:
Textareitir innihalda texta og tölugildi, svo þú þarft að takmarka inntak notenda. Umsóknarnúmer, kennitölu nemenda, aldur, sími, auðkenni námskeiðs og lengd námskeiðs munu aðeins innihalda tölur, restin mun innihalda texta.
Með því að nota IF skipunina kallar kóðinn upp villusprettiglugga ef notandinn slær inn staf eða textagildi í hvaða tölureit sem er.
Vegna þess að villustaðfesting er til staðar þarftu að tengja textareitina við frumurnar í vinnublaðinu.
Lastrow breyturnar reikna út síðustu fylltu línuna og geyma gildið inni til sveigjanlegrar notkunar.
Að lokum eru þessi gildi límd inn í textareitinn í tengda Excel blaðinu.
Kóðaðu eyðublaðið hreinsa og hætta hnappinn
Í hreinsa hnappinn þarftu að skrifa kóða sem hreinsar núverandi gildi úr eyðublaði notandans sem hér segir:
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
Sláðu inn eftirfarandi kóða á eyðublaði notandans í lokahnappnum :
Private Sub CommandButton5_Click()
Unload Me
End Sub
Í lokaskrefinu þarftu að slá inn síðustu kóðann til að búa til felligildi fyrir samsettan reit (í kassarammanum).
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
Hér að ofan er hvernig á að búa til sjálfvirkt gagnafærslueyðublað í Excel VBA . Vona að greinin nýtist þér.