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ä:

  1. Arkki 1: Koti
  2. Arkki 2: Opiskelijatietokanta

Voit vapaasti muuttaa näitä nimiä tarpeidesi mukaan.

Vuonna

instagram viewer
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 Jos

Jos VBA.IsNumeric (txtStudentID.Value) = False, silloin
MsgBox "Vain numeeriset arvot hyväksytään opiskelijatunnuksessa", vbCritical
Poistu Subista
Loppu Jos

Jos VBA.IsNumeric (txtAge. Arvo) = Epätosi sitten
MsgBox "Vain numeeriset arvot hyväksytään iässä", vbCritical
Poistu Subista
Loppu Jos

Jos VBA.IsNumeric (txtPhone. Arvo) = Epätosi sitten
MsgBox "Puhelinnumerossa hyväksytään vain numeeriset arvot", vbCritical
Poistu Subista
Loppu Jos

Jos 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. Arvo

Lopeta 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ä-valintanapin

Jos valitset Kyllä. Arvo = True Sitten
MsgBox "Valitse maksutiedot alta"
Muu:
Poistu Subista

Loppu 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.

Kuinka yhdistää useita Excel-arkkeja VBA-makrolla

Tietojen yhdistäminen useammasta kuin yhdestä Excel-arkista samaan työkirjaan on todellista vaivaa... kunnes käytät VBA-makroja.

Lue Seuraava

JaaTweetSähköposti
Liittyvät aiheet
  • Ohjelmointi
  • Tuottavuus
  • Visual Basic ohjelmointi
  • Microsoft Excel
Kirjailijasta
Gaurav Siyal (50 artikkelia julkaistu)

Gaurav Siyalilla on kahden vuoden kirjoituskokemus, joka on kirjoittanut sarjalle digitaalisia markkinointiyrityksiä ja ohjelmistojen elinkaaridokumentteja.

Lisää Gaurav Siyalilta

tilaa uutiskirjeemme

Liity uutiskirjeemme saadaksesi teknisiä vinkkejä, arvosteluja, ilmaisia ​​e-kirjoja ja eksklusiivisia tarjouksia!

Klikkaa tästä tilataksesi