Visual Basic on suurepärane keel korduvate toimingute automatiseerimiseks Excelis. Kujutage ette, et tõstate oma automatiseerimist uue sammu, luues väga funktsionaalsed kasutajavormid, mis näevad ka lõppkasutajatele korralikud.
VBA kasutajavormid esitavad teile tühja lõuendi; saate kujundada ja korraldada vorme vastavalt oma vajadustele igal ajahetkel.
Selles juhendis õpite looma õpilastepõhist andmesisestusvormi, mis salvestab asjakohase teabe lingitud Exceli lehtedele.
Kasutajavormi loomine Excel VBA-ga
Avage uus Exceli töövihik ja tehke enne andmesisestusvormi loomise alustamist mõned eeltoimingud.
Salvestage oma töövihik soovitud nimega; ärge unustage muuta faili tüübiks an Exceli makrotoega töövihik.
Seotud:Veebisaidid ja ajaveebid Exceli näpunäidete ja näpunäidete õppimiseks
Lisage sellele töövihikule kaks lehte järgmiste nimedega:
- Leht1: Kodu
- Leht2: Üliõpilaste andmebaas
Muutke neid nimesid vastavalt oma vajadustele.
Aastal Kodu lehel lisage nupp kasutajavormi makro juhtimiseks. Mine lehele
Arendaja vahekaarti ja klõpsake nuppu Nupp valik alates Sisesta rippmenüü. Asetage nupp lehel ükskõik kuhu.Kui olete nupu asetanud, nimetage see ümber. Paremklõpsake sellel ja klõpsake nuppu Uus vormi kuvamiseks uue makro määramiseks.
Sisestage redaktori aknasse järgmine kood:
Alamnupp1_Click()
Kasutajavorm. Näita
Lõpeta alam
Kord Kodu ja Õpilaste andmebaas lehed on valmis, on aeg kujundada kasutajavorm. Navigeerige lehele Arendaja vahekaarti ja klõpsake nuppu Visual Basic redaktori avamiseks. Teise võimalusena võite vajutada ALT+F11 redaktori akna avamiseks.
Klõpsake nuppu Sisesta vahekaarti ja valige Kasutajavorm.
Tühi kasutajavorm on kasutamiseks valmis; koos vormiga avaneb kaasasolev tööriistakast, kus on kõik küljenduse kujundamiseks vajalikud tööriistad.
Valige tööriistakastist Raam valik. Lohistage see kasutajavormi ja muutke selle suurust.
Aastal (nimi) valikuga saate raami nime muuta. Nime esiotsas kuvamiseks saate nime muuta Pealkiri veerg.
Järgmisena valige Silt tööriistakastist ja sisestage sellesse raami kaks silti. Nimetage esimene ümber kui Avalduse number ja teine as Õpilase ID.
Sama ümbernimetamise loogika kehtib; muutke nimesid Pealkiri valik sees Omadused aken. Enne nime muutmist valige kindlasti vastav silt.
Järgmisena sisestage sildikastide kõrvale kaks tekstikasti. Neid kasutatakse kasutaja sisendite jäädvustamiseks. Muutke kahe tekstikasti nimesid (nimi) veerus Omadused aken. Nimed on järgmised:
- Tekstikast1: txtRakendus nr
- Tekstikast2: txtÕpilase ID
Õpilase detailide raami kujundamine
Sisestage vertikaalne raam ja lisage 10 silti ja 10 tekstikasti. Nimetage igaüks neist ümber järgmisel viisil:
- Silt3: Nimi
- Silt4: Vanus
- Silt5: Aadress
- Silt6: Telefon
- Silt7: Linn
- Silt8: Riik
- Silt9: Sünnikuupäev
- Silt10: Postiindeks
- Silt11: Rahvus
- Silt12: Sugu
Sisestage nende siltide kõrvale vastavad tekstikastid; sisestage kaks (või enam) valikunupp kastid kõrval asuvast kasutajavormi tööriistakastist sugu silt. Nimetage need ümber Mees ja Naine (koos Customiga) vastavalt.
Kursuse üksikasjade raami kujundamine
Lisage veel üks vertikaalne raam ja sisestage kuus silti ja kuus tekstikasti, mis vastavad igale sildile. Nimetage sildid ümber järgmiselt:
- Silt13: Kursuse nimi
- Silt14: Kursuse ID
- Silt15: Registreerimise alguskuupäev
- Silt16: Registreerimise lõppkuupäev
- Silt17: Kursuse kestus
- Silt18: osakond
Seotud: 4 viga, mida vältida Exceli makrode VBA-ga programmeerimisel
Makseandmete raami kujundamine
Sisestage uus raam; lisage uus silt ja nimetage see ümber "Kas soovite maksete üksikasju värskendada?" Sisestage kaks valikunupud; nimeta need ümber Jah ja Ei.
Samamoodi lisage uus raam, mis sisaldab kahte täiendavat silti ja kahte liitkasti. Nimetage sildid ümber järgmiselt:
- Silt19: Makse laekunud
- Silt20: Makseviis
Navigeerimispaani kujundamine
Viimases kaadris lisage tööriistakastist kolm nuppu, mis sisaldavad vormide täitmise koodi.
Nimetage nupud ümber järgmisel viisil:
- Nupp1: Salvesta üksikasjad
- Nupp2: Selge vorm
- Nupp3: Välju
Automaatvormi koodi kirjutamine: nupp Salvesta üksikasjad
Topeltklõpsake ikooni Salvesta üksikasjad nuppu. Sisestage järgnevasse moodulisse järgmine kood:
Privaatne alam CommandButton2_Click()
„deklareerida koodides kasutatud muutujad
Dim sht töölehena, sht1 töölehena, lastrow As LongLisage kinnitused, et kontrollida, kas numbriväljadele sisestatakse märgiväärtusi.
Kui VBA.IsNumeric (txtApplicationNo. Value) = Väär, siis
MsgBox "Rakenduse numbris aktsepteeritakse ainult arvväärtusi", vbCritical
Välju Sub
Lõpeta KuiKui VBA.IsNumeric (txtStudentID.Value) = Väär, siis
MsgBox "Õpilase ID-s aktsepteeritakse ainult arvväärtusi", vbCritical
Välju Sub
Lõpeta KuiKui VBA.IsNumeric (txtAge. Väärtus) = Väär siis
MsgBox "Vanuses aktsepteeritakse ainult arvväärtusi", vbCritical
Välju Sub
Lõpeta KuiKui VBA.IsNumeric (txtPhone. Väärtus) = Väär siis
MsgBox "Telefoninumbris aktsepteeritakse ainult arvväärtusi", vbCritical
Välju Sub
Lõpeta KuiKui VBA.IsNumeric (Me.txtCourseID.Value) = Väär, siis
MsgBox "Kursuse ID-s aktsepteeritakse ainult arvväärtusi", vbCritical
Välju Sub
Lõpeta Kui'linkida tekstikasti väljad aluseks olevate lehtedega, et luua jooksev andmebaas
Määra sht = see töövihik. Sheets ("õpilaste andmebaas")'arvuta mõlema lehe viimane täidetud rida
lastrow = sht. Vahemik ("a" & read. Loendus).Lõpp (xlUp).Rida + 1
kleepige iga tekstikasti väärtused vastavatesse lehe lahtritesse
Koos sht
.Range("a" & lastrow).Väärtus = txtApplicationNo. Väärtus
.Range("b" & lastrow).Väärtus = txtStudentID.Value
.Range("c" & lastrow).Väärtus = txtName. Väärtus
.Range("d" & lastrow).Väärtus = txtAge. Väärtus
.Range("e" & lastrow).Väärtus = txtDOB.Väärtus
.Range("g" & lastrow).Väärtus = txtAddress. Väärtus
.Range("h" & lastrow).Väärtus = txtPhone. Väärtus
.Range("i" & lastrow).Väärtus = txtCity. Väärtus
.Range("j" & lastrow).Väärtus = txtRiik. Väärtus
.Range("k" & lastrow).Väärtus = txtZip. Väärtus
.Range("l" & lastrow).Väärtus = txtNationality. Väärtus
.Range("m" & lastrow).Väärtus = txtKurss. Väärtus
.Range("n" & lastrow).Väärtus = txtCourseID.Value
.Range("o" & lastrow).Väärtus = txtenrollmentsstart. Väärtus
.Range("p" & lastrow).Väärtus = txtenrollmentend. Väärtus
.Range("q" & lastrow).Väärtus = txtcourseduration. Väärtus
.Range("r" & lastrow).Väärtus = txtDept. VäärtusLõpeta
sht. Aktiveerigemäärake sugu vastavalt kasutaja sisendile
Kui optMale. Väärtus = Tõene Siis sht. Vahemik("g" & viimane rida).Väärtus = "mees"
Kui optNaine. Väärtus = Tõene Siis sht. Vahemik("g" & viimane rida).Väärtus = "Naine"
'Kuva teatekast juhuks, kui kasutaja valib raadionupu JahKui valite Jah. Väärtus = Tõene Siis
MsgBox "Palun valige allpool makse üksikasjad"
Muu:
Välju SubLõpeta Kui
Lõpeta alam
Kui te pole kindel, mida osad või mõni kood tähendab, ärge muretsege. Selgitame seda põhjalikult järgmises osas.
Selgitatud automatiseeritud vormikood
Tekstikastid sisaldavad nii teksti kui ka arvulisi väärtusi, seega on oluline piirata kasutaja sisestust. The Avalduse number, Õpilase ID, Vanus, Telefon, Kursuse ID, ja Kursuse kestus peaks sisaldama ainult numbreid, ülejäänud aga teksti.
Kasutades an KUI lause, käivitab kood veahüpikaknad, kui kasutaja sisestab mõnele numbriväljale märgi või tekstiväärtuse.
Kuna veakontrollid on paigas, peate tekstikastid linkima lehe lahtritega.
The viimane rida muutujad arvutavad viimase täidetud rea ja salvestavad neisse väärtused dünaamiliseks kasutamiseks.
Lõpuks kleebitakse väärtused tekstikastidest lingitud Exceli lehele.
Tühjendage vormi ja väljumisnupu koodid
Aastal selge nuppu, peate kirjutama koodi, et kustutada olemasolevad väärtused kasutajavormist. Seda saab teha järgmisel viisil:
Minuga
.txtApplicationNo. Väärtus = ""
.txtStudentID.Value = ""
..txtName. Väärtus = ""
.txtAge. Väärtus = ""
.txtAddress. Väärtus = ""
.txtPhone. Väärtus = ""
.txtCity. Väärtus = ""
.txtRiik. Väärtus = ""
.txtDOB.Value = ""
.txtZip. Väärtus = ""
.txtRiikkondsus. Väärtus = ""
.txtKursus. Väärtus = ""
.txtCourseID.Value = ""
.txtenrollmentsstart. Väärtus = ""
.txtenrollmentend. Väärtus = ""
.txtcourseduration. Väärtus = ""
.txtDept. Väärtus = ""
.cmbPaymentMode. Väärtus = ""
.cmbMakse. Väärtus = ""
.optNaine. Väärtus = vale
.optMale. Väärtus = vale
.optJah. Väärtus = vale
.optNo. Väärtus = vale
Lõpeta
Aastal väljuda nuppu, sisestage kasutajavormi sulgemiseks järgmine kood.
Privaatne alam CommandButton5_Click()
Laadi mind maha
Lõpeta alam
Viimase sammuna peate sisestama mõned viimased koodijupid, et luua liitkastide jaoks rippmenüü väärtused (makseraamide sees).
Privaatne alamkasutajaForm_Activate()
cmbPaymentiga
.Selge
.AddItem ""
.Add Item "Jah"
.AddItem "Ei"
Lõpeta
Koos cmbPaymentMode'iga
.Selge
.AddItem ""
.Add Item "sularaha"
.Add Item "kaart"
.AddItem "Check"
Lõpeta
Lõpeta alam
VBA automatiseerimine muudab töö lihtsamaks
VBA on mitmetahuline keel, millel on palju eesmärke. Kasutajavormid on VBA-s vaid üks aspekt – on palju muid kasutusviise, nagu töövihikute ja töölehtede koondamine, mitme Exceli lehe liitmine ja muud käepärased automatiseerimisvõimalused.
Olenemata automatiseerimise eesmärgist on VBA oma ülesannete kõrgusel. Kui jätkate õppimist ja harjutamist, pole teie töövoos ühtegi aspekti, mida te ei saaks parandada.
Rohkem kui ühelt Exceli lehelt andmete liitmine samasse töövihikusse on tõeline tüli... kuni kasutate VBA makrosid.
Loe edasi
- Programmeerimine
- Tootlikkus
- Visual Basic programmeerimine
- Microsoft Excel
![](/f/0a3ffb0eb3d2a368f9b5a126f100f3d7.jpg)
Gaurav Siyal on kaheaastane kirjutamiskogemus, kirjutades mitmetele digitaalse turunduse ettevõtetele ja tarkvara elutsükli dokumentidele.
Liituge meie uudiskirjaga
Liituge meie uudiskirjaga tehniliste näpunäidete, arvustuste, tasuta e-raamatute ja eksklusiivsete pakkumiste saamiseks!
Tellimiseks klõpsake siin