Visual Basic je odličen jezik za avtomatizacijo ponavljajočih se opravil v Excelu. Predstavljajte si, da bi svojo avtomatizacijo dvignili na višji nivo z ustvarjanjem zelo funkcionalnih uporabniških obrazcev, ki so videti urejeni tudi za končne uporabnike.
Uporabniški obrazci v VBA vam predstavljajo prazno platno; lahko oblikujete in organizirate obrazce tako, da ustrezajo vašim potrebam v vsakem trenutku.
V tem priročniku se boste naučili ustvariti obrazec za vnos podatkov na podlagi študentov, ki zajema ustrezne informacije v povezanih Excelovih listih.
Ustvarjanje uporabniškega obrazca z Excel VBA
Odprite nov delovni zvezek Excel in izvedite nekaj predhodnih korakov, preden začnete ustvarjati obrazec za vnos podatkov.
Shranite delovni zvezek z želenim imenom; ne pozabite spremeniti vrste datoteke v an Delovni zvezek z omogočenimi makri v Excelu.
Povezano:Spletna mesta in blogi za učenje Excelovih nasvetov in trikov
V ta delovni zvezek dodajte dva lista z naslednjimi imeni:
- List 1: Domov
- List2:Študentska zbirka podatkov
Ta imena lahko spremenite glede na vaše zahteve.
V Domov listu, dodajte gumb za nadzor makra uporabniškega obrazca. Pojdite na Razvijalec zavihek in kliknite na Gumb možnost iz Vstavi spustni seznam. Gumb postavite kamor koli na list.
Ko postavite gumb, ga preimenujte. Z desno miškino tipko kliknite nanjo in kliknite Novo za dodelitev novega makra za prikaz obrazca.
V okno urejevalnika vnesite naslednjo kodo:
Podgumb1_Klik()
Uporabniški obrazec. Pokaži
Končni sub
Enkrat Domov in Študentska zbirka podatkov so listi pripravljeni, čas je za oblikovanje uporabniškega obrazca. Pomaknite se do Razvijalec zavihek in kliknite na Visual basic da odprete urejevalnik. Lahko pa tudi pritisnete ALT+F11 da odprete okno urejevalnika.
Kliknite na Vstavi zavihek in izberite Uporabniški obrazec.
Prazen uporabniški obrazec je pripravljen za uporabo; skupaj z obrazcem se odpre priložena orodjarna, ki vsebuje vsa bistvena orodja za oblikovanje postavitve.
V orodju izberite Okvir možnost. Povlecite to na uporabniški obrazec in mu spremenite velikost.
V (ime) možnost, lahko spremenite ime okvirja. Če želite prikazati ime na sprednji strani, lahko spremenite ime v Napis stolpec.
Nato izberite Oznaka možnost iz orodjarne in v ta okvir vstavite dve nalepki. Preimenujte prvo kot Številka vloge in drugi kot Študentska izkaznica.
Velja ista logika preimenovanja; spremenite imena prek Napis možnost znotraj Lastnosti okno. Prepričajte se, da ste izbrali ustrezno oznako, preden spremenite njeno ime.
Nato vstavite dve besedilni polji poleg polj z oznakami. Ti bodo uporabljeni za zajemanje uporabnikovih vnosov. Spremenite imena dveh besedilnih polj prek (ime) stolpec znotraj Lastnosti okno. Imena so naslednja:
- Besedilno polje 1: txtApplicationŠt
- Besedilno polje 2: txtID študenta
Oblikovanje okvirja s podrobnostmi o študentu
Vstavite navpični okvir in dodajte 10 nalepk in 10 polj z besedilom. Preimenujte vsakega od njih na naslednji način:
- Oznaka 3: ime
- Oznaka 4: starost
- Oznaka 5: naslov
- Oznaka 6: Telefon
- Oznaka 7: mesto
- Oznaka 8: Država
- Oznaka 9: Datum rojstva
- Oznaka 10: Poštna številka
- Oznaka 11: državljanstvo
- Oznaka 12: spol
Vstavite ustrezna besedilna polja poleg teh oznak; vstavite dva (ali več) gumb možnosti polja iz orodjarne uporabniškega obrazca poleg spol etiketo. Preimenujte jih moški in Ženska (skupaj z Custom).
Oblikovanje okvirja s podrobnostmi o tečaju
Dodajte še en navpični okvir in vstavite šest oznak in šest besedilnih polj, ki ustrezajo vsaki nalepki. Preimenujte oznake na naslednji način:
- Oznaka 13: Ime tečaja
- Oznaka 14: ID tečaja
- Oznaka 15: Datum začetka vpisa
- Oznaka 16: Končni datum vpisa
- Oznaka 17: Trajanje tečaja
- Oznaka 18: Oddelek
Povezano: 4 napake, ki se jim je treba izogniti pri programiranju Excelovih makrov z VBA
Oblikovanje okvirja s podatki o plačilu
Vstavite nov okvir; dodajte novo oznako in jo preimenujte v "Ali želite posodobiti podatke o plačilu?" Vstavite dva gumbi z možnostmi; jih preimenujte da in št.
Podobno dodajte nov okvir, ki vsebuje dve dodatni nalepki in dve kombinirani polji. Preimenujte oznake na naslednji način:
- Oznaka 19: Plačilo sprejeto
- Oznaka 20: Način plačila
Oblikovanje navigacijskega podokna
V končni okvir dodajte tri gumbe iz orodjarne, ki bodo vsebovali kodo za izvedbo obrazcev.
Preimenujte gumbe na naslednji način:
- Gumb 1: Shrani podrobnosti
- Gumb 2: Počisti obrazec
- Gumb 3: Izhod
Pisanje kode avtomatiziranega obrazca: gumb Shrani podrobnosti
Dvokliknite na Shrani podrobnosti gumb. V modul, ki sledi, vstavite naslednjo kodo:
Private Sub CommandButton2_Click()
„razglasite spremenljivke, ki se uporabljajo v kodah
Dim sht Kot delovni list, sht1 Kot delovni list, nazadnje As Long»Dodajte potrditve, da preverite, ali se vrednosti znakov vnašajo v številska polja.
Če je VBA.IsNumeric (txtApplicationNo. Value) = False, potem
MsgBox "V številki aplikacije so sprejete samo številske vrednosti", vbCritical
Izhod Sub
Konec ČeČe je VBA.IsNumeric (txtStudentID.Value) = False, potem
MsgBox "V ID študenta so sprejete samo številske vrednosti", vbCritical
Izhod Sub
Konec ČeČe VBA.IsNumeric (txtAge. Vrednost) = False Potem
MsgBox "V starosti so sprejete samo številske vrednosti", vbCritical
Izhod Sub
Konec ČeČe VBA.IsNumeric (txtPhone. Vrednost) = False Potem
MsgBox "V telefonski številki so sprejete samo številske vrednosti", vbCritical
Izhod Sub
Konec ČeČe je VBA.IsNumeric (Me.txtCourseID.Value) = False, potem
MsgBox "V ID tečaja so sprejete samo številske vrednosti", vbCritical
Izhod Sub
Konec Če'povežite polja besedilnega polja z osnovnimi listi, da ustvarite tekočo bazo podatkov
Nastavite sht = Ta delovni zvezek. Preglednice ("Študentska zbirka podatkov")'izračunaj zadnjo poseljeno vrstico na obeh listih
zadnja = sht. Obseg ("a" in vrstice. Število).Konec (xlUp).Vrstica + 1
'prilepite vrednosti vsakega besedilnega polja v ustrezne celice lista
S sht
.Range("a" & lastrow).Value = txtApplicationNo. vrednost
.Range("b" & lastrow).Value = txtStudentID.Value
.Range("c" & lastrow).Value = txtName. vrednost
.Range("d" & lastrow).Value = txtAge. vrednost
.Range("e" & lastrow).Value = txtDOB.Value
.Range("g" & lastrow).Value = txtAddress. vrednost
.Range("h" & lastrow).Value = txtPhone. vrednost
.Range("i" & lastrow).Value = txtCity. vrednost
.Range("j" & lastrow).Value = txtCountry. vrednost
.Range("k" & lastrow).Value = txtZip. vrednost
.Range("l" & lastrow).Value = txtNationality. vrednost
.Range("m" & lastrow).Value = txtCourse. vrednost
.Range("n" & lastrow).Value = txtCourseID.Value
.Range("o" & lastrow).Value = txtenrollmentstart. vrednost
.Range("p" & lastrow).Value = txtenrollmentend. vrednost
.Range("q" & lastrow).Value = txtcourseduration. vrednost
.Range("r" & lastrow).Value = txtDept. vrednostKončaj z
sht. Aktiviraj'določi spol glede na vnos uporabnika
Če optMale. Vrednost = True Potem sht. Obseg("g" & lastrow).Value = "Moški"
Če optFemale. Vrednost = True Potem sht. Obseg("g" & lastrow).Value = "Ženska"
»Prikaži sporočilo, če uporabnik izbere izbirni gumb DaČe optDa. Vrednost = True Potem
MsgBox "Prosimo, izberite spodnje podatke o plačilu"
Drugače:
Izhod SubKonec Če
Končni sub
Če niste prepričani, kaj pomenijo deli ali katera koli koda, ne skrbite. To bomo temeljito razložili v naslednjem razdelku.
Razložena koda avtomatskega obrazca
Besedilna polja bodo vsebovala mešanico besedila in številskih vrednosti, zato je bistveno omejiti uporabnikov vnos. The Številka vloge, Študentska izkaznica, starost, Telefon, ID tečaja, in Trajanje tečaja mora vsebovati samo številke, ostalo pa besedilo.
Uporaba an ČE stavek, koda sproži pojavna okna z napako, če uporabnik vnese znak ali besedilno vrednost v katero koli od številskih polj.
Ker so preverjanja napak na mestu, morate besedilna polja povezati s celicami lista.
The zadnjič spremenljivke bodo izračunale zadnjo poseljeno vrstico in vanjo shranile vrednosti za dinamično uporabo.
Končno se vrednosti prilepijo iz besedilnih polj v povezani Excelov list.
Počisti kode obrazca in gumbov za izhod
V jasno gumb, morate napisati kodo, da počistite obstoječe vrednosti iz uporabniškega obrazca. To je mogoče storiti na naslednji način:
Z mano
.txtApplicationNo Vrednost = ""
.txtStudentID.Value = ""
..txtName. Vrednost = ""
.txtAge. Vrednost = ""
.txtAddress. Vrednost = ""
.txtPhone. Vrednost = ""
.txtCity. Vrednost = ""
.txtCountry. Vrednost = ""
.txtDOB.Value = ""
.txtZip. Vrednost = ""
.txtNacionalnost. Vrednost = ""
.txtCourse. Vrednost = ""
.txtCourseID.Value = ""
.txtenrollmentstart. Vrednost = ""
.txtenrollmentend. Vrednost = ""
.txtcourseduration. Vrednost = ""
.txtDept Vrednost = ""
.cmbPaymentMode. Vrednost = ""
.cmbPlačilo. Vrednost = ""
.optFemale. Vrednost = False
.optMale. Vrednost = False
.optDa. Vrednost = False
št. Vrednost = False
Končaj z
V izhod gumb, vnesite naslednjo kodo, da zaprete uporabniški obrazec.
Zasebni podukazni gumb5_Klik()
Raztovori me
Končni sub
Kot zadnji korak morate vnesti nekaj končnih kosov kode, da ustvarite spustne vrednosti za kombinirana polja (znotraj plačilnih okvirjev).
Zasebni poduporabniški obrazec_Aktiviraj()
S plačilom cmb
.Jasno
.AddItem ""
.AddItem "Da"
.AddItem "Ne"
Končaj z
S cmbPaymentMode
.Jasno
.AddItem ""
.AddItem "Gotovina"
.AddItem "Card"
.AddItem "Preveri"
Končaj z
Končni sub
Avtomatizacija VBA olajša delo
VBA je večplasten jezik, ki služi številnim namenom. Uporabniški obrazci so le en vidik znotraj VBA – obstaja veliko drugih uporab, kot so združevanje delovnih zvezkov in delovnih listov, spajanje več listov Excela in druge priročne uporabe avtomatizacije.
Ne glede na cilj avtomatizacije je VBA kos nalogi. Če se še naprej učite in vadite, ni nobenega vidika svojega delovnega procesa, ki ga ne morete izboljšati.
Združevanje podatkov iz več kot enega Excelovega lista v istem delovnem zvezku je prava težava... dokler ne uporabite makrov VBA.
Preberite Naprej
- Programiranje
- Produktivnost
- Visual Basic programiranje
- Microsoft Excel
Gaurav Siyal ima dve leti izkušenj s pisanjem, pisanjem za vrsto podjetij za digitalni marketing in dokumente o življenjskem ciklu programske opreme.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, ocene, brezplačne e-knjige in ekskluzivne ponudbe!
Kliknite tukaj, da se naročite