Visual Basic on erinomainen kieli toistuvien tehtävien automatisointiin Excelissä. Kuvittele, että nostat automaatioasi luomalla erittäin toimivia käyttäjälomakkeita, jotka näyttävät myös siisteiltä loppukäyttäjien silmissä.
VBA: n käyttäjälomakkeet antavat sinulle tyhjän kankaan; voit suunnitella ja järjestää lomakkeet tarpeidesi mukaan milloin tahansa.
Tässä oppaassa opit luomaan opiskelijapohjaisen tiedonsyöttölomakkeen, joka tallentaa olennaiset tiedot linkitetyille Excel-taulukoille.
Käyttäjälomakkeen luominen Excel VBA: lla
Avaa uusi Excel-työkirja ja suorita muutama alustava vaihe ennen kuin aloitat tietojen syöttölomakkeen luomisen.
Tallenna työkirja halutulla nimellä; älä unohda muuttaa tiedoston tyypiksi an Excel-makrokäyttöinen työkirja.
Aiheeseen liittyvä:Web-sivustot ja blogit, joiden avulla voit oppia Excel-vinkkejä ja temppuja
Lisää tähän työkirjaan kaksi arkkia seuraavilla nimillä:
- Arkki 1: Koti
- Arkki 2: Opiskelijatietokanta
Voit vapaasti muuttaa näitä nimiä tarpeidesi mukaan.
Vuonna
Koti arkki, lisää painike, jolla ohjataan käyttäjälomakkeen makroa. Siirry kohtaan Kehittäjä -välilehteä ja napsauta Painike vaihtoehto kohteesta Lisää pudotusvalikosta. Aseta painike mihin tahansa arkin kohtaan.Kun olet sijoittanut painikkeen, nimeä se uudelleen. Napsauta sitä hiiren kakkospainikkeella ja napsauta Uusi määrittääksesi uuden makron lomakkeen näyttämiseksi.
Kirjoita muokkausikkunaan seuraava koodi:
Sub Button1_Click()
UserForm. Näytä
Lopeta ala
Kerran Koti ja Opiskelijatietokanta arkit ovat valmiita, on aika suunnitella käyttäjälomake. Navigoi kohtaan Kehittäjä -välilehteä ja napsauta Visual Basic avataksesi editorin. Vaihtoehtoisesti voit painaa ALT+F11 avataksesi muokkausikkunan.
Klikkaa Lisää -välilehti ja valitse UserForm.
Tyhjä käyttäjälomake on valmis käytettäväksi; Mukana oleva työkalupakki avautuu lomakkeen mukana, jossa on kaikki olennaiset työkalut asettelun suunnitteluun.
Valitse työkalulaatikosta Kehys vaihtoehto. Vedä tämä käyttäjälomakkeeseen ja muuta sen kokoa.
Vuonna (nimi) vaihtoehto, voit muuttaa kehyksen nimeä. Voit näyttää nimen käyttöliittymässä muuttamalla nimen Kuvateksti sarakkeessa.
Valitse seuraavaksi Label vaihtoehto työkalulaatikosta ja lisää kaksi tarraa tähän kehykseen. Nimeä ensimmäinen uudelleen nimellä Hakemusnumero ja toinen as opiskelijanumero.
Sama uudelleennimeämislogiikka pätee; muuta nimet kautta Kuvateksti vaihtoehto sisällä Ominaisuudet ikkuna. Varmista, että valitset vastaavan tarran ennen kuin muutat sen nimeä.
Lisää seuraavaksi kaksi tekstiruutua tarraruutujen viereen. Näitä käytetään käyttäjän syötteiden tallentamiseen. Muuta kahden tekstiruudun nimiä käyttämällä (Nimi) sarakkeen sisällä Ominaisuudet ikkuna. Nimet ovat seuraavat:
- Tekstilaatikko1: txtApplicationNo
- Tekstilaatikko2: txtOpiskelijatunnus
Opiskelijan tietokehyksen suunnittelu
Lisää pystysuuntainen kehys ja lisää 10 tarraa ja 10 tekstiruutua. Nimeä jokainen niistä uudelleen seuraavalla tavalla:
- Tunniste3: Nimi
- Tunniste4: Ikä
- Tunniste 5: Osoite
- Tunniste6: Puhelin
- Tunniste 7: Kaupunki
- Tunniste8: Maa
- Tunniste9: Syntymäaika
- Tunniste 10: Postinumero
- Tunniste 11: Kansallisuus
- Tunniste 12: Sukupuoli
Lisää vastaavat tekstilaatikot näiden tarrojen viereen; lisää kaksi (tai useampi) vaihtoehtopainike laatikot käyttäjälomakkeen työkalulaatikosta vieressä sukupuoli etiketti. Nimeä ne uudelleen Uros ja Nainen (Yhdessä Customin kanssa).
Kurssin yksityiskohtien kehyksen suunnittelu
Lisää toinen pystykehys ja lisää kuusi tarraa ja kuusi tekstiruutua, jotka vastaavat kutakin tarraa. Nimeä tarrat uudelleen seuraavasti:
- Tunniste 13: Kurssin nimi
- Tunniste 14: Kurssin tunnus
- Tunniste 15: Ilmoittautumisen alkamispäivä
- Tunniste 16: Ilmoittautumisen päättymispäivä
- Tunniste 17: Kurssin kesto
- Tunniste 18: osasto
Aiheeseen liittyvä: 4 virhettä, jotka tulee välttää ohjelmoitaessa Excel-makroja VBA: lla
Maksutietojen kehyksen suunnittelu
Lisää uusi kehys; lisää uusi tunniste ja nimeä se uudelleen "Haluatko päivittää maksutiedot?" Aseta kaksi valintapainikkeet; nimeä ne uudelleen Joo ja Ei.
Lisää vastaavasti uusi kehys, joka sisältää kaksi lisätarraa ja kaksi yhdistelmäruutua. Nimeä tarrat uudelleen seuraavasti:
- Tunniste 19: Maksu vastaanotettu
- Tunniste20: Maksutapa
Navigointiruudun suunnittelu
Lisää viimeiseen kehykseen työkalulaatikosta kolme painiketta, jotka sisältävät koodin lomakkeiden suorittamiseen.
Nimeä painikkeet uudelleen seuraavasti:
- Painike 1: Tallenna tiedot
- Painike 2: Selkeä lomake
- Painike 3: Poistu
Automaattisen lomakkeen koodin kirjoittaminen: Tallenna tiedot -painike
Kaksoisnapsauta kohtaa Tallenna tiedot -painiketta. Lisää seuraava koodi seuraavaan moduuliin:
Yksityinen Sub CommandButton2_Click()
'ilmoita koodeissa käytetyt muuttujat
Dim sht As Long'Lisää vahvistuksia tarkistaaksesi, syötetäänkö merkkiarvoja numerokenttiin.
Jos VBA.IsNumeric (txtApplicationNo. Value) = Epätosi silloin
MsgBox "Sovellusnumerossa hyväksytään vain numeeriset arvot", vbCritical
Poistu Subista
Loppu JosJos VBA.IsNumeric (txtStudentID.Value) = False, silloin
MsgBox "Vain numeeriset arvot hyväksytään opiskelijatunnuksessa", vbCritical
Poistu Subista
Loppu JosJos VBA.IsNumeric (txtAge. Arvo) = Epätosi sitten
MsgBox "Vain numeeriset arvot hyväksytään iässä", vbCritical
Poistu Subista
Loppu JosJos VBA.IsNumeric (txtPhone. Arvo) = Epätosi sitten
MsgBox "Puhelinnumerossa hyväksytään vain numeeriset arvot", vbCritical
Poistu Subista
Loppu JosJos VBA.IsNumeric (Me.txtCourseID.Value) = epätosi, silloin
MsgBox "Kurssitunnuksessa hyväksytään vain numeeriset arvot", vbCritical
Poistu Subista
Loppu Jos'linkitä tekstilaatikon kentät alla oleviin taulukoihin rullaavan tietokannan luomiseksi
Aseta sht = Tämä työkirja. Sheets ("Opiskelijatietokanta")'laske viimeinen täytetty rivi molemmissa taulukoissa
viimeinen rivi = sht. Alue("a" & rivit. Count).Loppu (xlUp).Rivi + 1
'liitä kunkin tekstilaatikon arvot niiden vastaaviin arkin soluihin
kanssa sht
.Range("a" & lastrow).Arvo = txtApplicationNo. Arvo
.Range("b" & lastrow).Arvo = txtOpiskelijatunnus.Arvo
.Range("c" & viimeinen rivi). Arvo = txtName. Arvo
.Range("d" & viimeinen rivi). Arvo = txtIkä. Arvo
.Range("e" & lastrow).Arvo = txtDOB.Arvo
.Range("g" & lastrow).Arvo = txtAddress. Arvo
.Range("h" & lastrow).Arvo = txtPhone. Arvo
.Range("i" & viimeinen rivi). Arvo = txtCity. Arvo
.Range("j" & viimeinen rivi). Arvo = txtMaa. Arvo
.Range("k" & lastrow). Arvo = txtZip. Arvo
.Range("l" & lastrow).Arvo = txtNationalality. Arvo
.Range("m" & lastrow).Arvo = txtKurssi. Arvo
.Range("n" & lastrow).Arvo = txtCourseID.Value
.Range("o" & lastrow).Arvo = txtenrollmentsstar. Arvo
.Range("p" & lastrow).Arvo = txtenrollmentend. Arvo
.Range("q" & viimeinen rivi). Arvo = txtcourseduration. Arvo
.Range("r" & lastrow).Arvo = txtDept. ArvoLopeta kanssa
sht. Aktivoida"määritä sukupuoli käyttäjän syötteen mukaan
Jos optMale. Arvo = True Sitten sht. Alue("g" & viimeinen rivi). Arvo = "mies"
Jos optNainen. Arvo = True Sitten sht. Alue("g" & viimeinen rivi). Arvo = "nainen"
'Näytä viestiruutu, jos käyttäjä valitsee Kyllä-valintanapinJos valitset Kyllä. Arvo = True Sitten
MsgBox "Valitse maksutiedot alta"
Muu:
Poistu SubistaLoppu Jos
Lopeta ala
Jos et ole varma, mitä osat tai mikä tahansa koodi tarkoittaa, älä huoli. Selitämme sen perusteellisesti seuraavassa osiossa.
Automaattinen lomakekoodi selitetty
Tekstilaatikot sisältävät sekoituksen tekstiä ja numeerisia arvoja, joten on välttämätöntä rajoittaa käyttäjän syöttämistä. The Hakemusnumero, opiskelijanumero, Ikä, Puhelin, Kurssin tunnus, ja Kurssin kesto tulee sisältää vain numeroita, kun taas loput sisältävät tekstiä.
Käyttämällä an JOS lauseke, koodi laukaisee virheponnahdusikkunat, jos käyttäjä syöttää merkin tai tekstiarvon johonkin numerokenttään.
Koska virheiden vahvistukset ovat käytössä, sinun on linkitettävä tekstilaatikot arkin soluihin.
The viimeinen rivi muuttujat laskevat viimeksi täytetyn rivin ja tallentavat arvot niihin dynaamista käyttöä varten.
Lopuksi arvot liitetään tekstilaatikoista linkitettyyn Excel-taulukkoon.
Tyhjennä lomake- ja poistumispainikekoodit
Vuonna asia selvä -painiketta, sinun on kirjoitettava koodi poistaaksesi olemassa olevat arvot käyttäjälomakkeesta. Tämä voidaan tehdä seuraavalla tavalla:
Minun kanssani
.txtApplicationNo. Arvo = ""
.txtStudentID.Value = ""
..txtName. Arvo = ""
.txtAge. Arvo = ""
.txtAddress. Arvo = ""
.txtPuhelin. Arvo = ""
.txtCity. Arvo = ""
.txtCountry. Arvo = ""
.txtDOB.Value = ""
.txtZip. Arvo = ""
.txtNationalality. Arvo = ""
.txtKurssi. Arvo = ""
.txtCourseID.Value = ""
.txtenrollmentsstart. Arvo = ""
.txtenrollmentend. Arvo = ""
.txtcourseduration. Arvo = ""
.txtDept. Arvo = ""
.cmbPaymentMode. Arvo = ""
.cmbPayment. Arvo = ""
.optFemale. Arvo = False
.optMale. Arvo = False
.optYes. Arvo = False
.optNo. Arvo = False
Lopeta kanssa
Vuonna poistu -painiketta, sulje käyttäjälomake kirjoittamalla seuraava koodi.
Yksityinen Sub CommandButton5_Click()
Unload Me
Lopeta ala
Viimeisenä vaiheena sinun on syötettävä muutama koodinpätkä luodaksesi pudotusvalikon arvot yhdistelmäruutuihin (maksukehysten sisällä).
Yksityinen Sub UserForm_Activate()
cmbPaymentilla
.Asia selvä
.Lisää tavara ""
.AddItem "Kyllä"
.AddItem "Ei"
Lopeta kanssa
cmbPaymentModella
.Asia selvä
.Lisää tavara ""
.AddItem "käteinen"
.AddItem "kortti"
.AddItem "Check"
Lopeta kanssa
Lopeta ala
VBA-automaatio tekee työstä helpompaa
VBA on monipuolinen kieli, joka palvelee monia tarkoituksia. Käyttäjälomakkeet ovat vain yksi osa VBA: ssa – on monia muita käyttötapoja, kuten työkirjojen ja laskentataulukoiden yhdistäminen, useiden Excel-arkkien yhdistäminen ja muita käteviä automaatiokäyttöjä.
Automaatiotavoitteesta riippumatta VBA on tehtäviensä tasalla. Jos jatkat oppimista ja harjoittelua, työnkulussasi ei ole mitään osaa, jota et voisi parantaa.
Tietojen yhdistäminen useammasta kuin yhdestä Excel-arkista samaan työkirjaan on todellista vaivaa... kunnes käytät VBA-makroja.
Lue Seuraava
- Ohjelmointi
- Tuottavuus
- Visual Basic ohjelmointi
- Microsoft Excel
Gaurav Siyalilla on kahden vuoden kirjoituskokemus, joka on kirjoittanut sarjalle digitaalisia markkinointiyrityksiä ja ohjelmistojen elinkaaridokumentteja.
tilaa uutiskirjeemme
Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja eksklusiivisia tarjouksia!
Klikkaa tästä tilataksesi