Kuinka käyttää VBA -ohjaimia UserFormsissa

Tässä artikkelissa kerrotaan, kuinka voit käyttää ohjaimia UserFormsissa Excel VBA: ssa.

VBA voi luoda lomakkeita, joita käyttäjä voi käyttää, kuten laskulomakkeita tai yhteystietoja. Lomake voi sisältää erilaisia ​​lomakeohjaimia, kuten tekstikenttiä, yhdistelmäruutuja, luetteloruutuja ja komentopainikkeita. Tämä artikkeli kattaa käyttäjälomakkeissa käytetyt suosituimmat ohjausobjektit eli tekstiruudut, tarrat, yhdistelmäruudut, luetteloruudut, valintaruudut ja vaihtoehtoryhmät.

Saat lisätietoja sisäänrakennetuista käyttäjälomakkeista ja mukautettujen käyttäjälomakkeiden luomisesta Excelissä napsauttamalla tätä.

UserFormin luominen

Jotta voimme luoda UserFormin Excel VBA: ssa, meidän on ensin avattava VBE -editori.

Jos haluat lisätä koodiin uuden käyttäjälomakkeen, valitse UserForm vaihtoehto Lisää -valikosta.

Uusi käyttäjälomake tulee näkyviin Project Explorer ja se näkyy oikealla olevassa koodiikkunassa.

Voit nimetä lomakkeen uudelleen käyttämällä Ominaisuudet laatikko. Tämän pitäisi näkyä allasi Project Explorer.

Jos se näkyy niin paljon, paina F4 tai napsauta Näytä, Ominaisuudet -ikkuna.

Napsauta Nimi omaisuutta ja nimeä lomake uudelleen.

Voimme nyt alkaa täyttää lomakkeemme säätimillä - tekstiruudun ohjausobjekti on suosituin ohjausobjekti yhdessä tarraohjaus- ja komentopainikkeen kanssa.

Jotta lomake täytetään ohjaimilla, meidän on otettava käyttöön Toolbox.

Kohteessa Valikko, valitse Näytä> Työkaluryhmä.

Tekstiruudun luominen

Jos haluat luoda tekstiruudun lomakkeellesi, valitse Työkaluryhmän Tekstiruutu -ohjausobjekti.

Vedä laatikon muoto lomakkeella hiirellä, pidä vasenta painiketta painettuna ja vapauta hiiren painike.

Koska tämä on ensimmäinen luomamme tekstiruutu, sen nimi on TextBox1. Kuten lomakkeessa, voit myös muuttaa tekstikentän nimeä Ominaisuudet -ikkunan avulla.

Voimme edelleen luoda lomakkeellemme niin monta tekstiruutua kuin tarvitsemme ja nimetä ne tarpeen mukaan Ominaisuudet -ikkunan Nimi -ominaisuuden avulla.

Tarraohjaimen luominen

Etikettiohjain kertoo meille, mitä tekstikenttää käytetään säilyttämään. Vedä lomaketta samalla tavalla kuin tekstiruutuun ja voit sitten kirjoittaa tarvittavan tekstin tarraohjaimeen, esim. Etunimi kuten alla.

Kuten tekstiruutujen kohdalla, luo edelleen niin monta kuin lomakkeessa vaaditaan.

Yhdistelmälaatikon ohjaimen luominen

Yhdistelmäruudun (tai pudotusvalikon) avulla käyttäjä voi valita arvoluettelosta. Jos haluat luoda yhdistelmäruudun, napsauta yhdistelmäruudun ohjausobjektin työkalupakkia ja napsauta ja vedä lomakkeesi yhdistelmäruutua.

Nimeä yhdistelmälaatikko asianmukaisesti.

Arvojen lisääminen yhdistelmäruutuun

Jotta voimme täyttää sen arvoilla, meidän on koodattava Alustaa User -lomakeobjektin menetelmä.

Pääset lomakkeen takana olevaan koodiin (CBF) joko kaksoisnapsauttamalla lomaketta tai siirtymällä koodinäkymään napsauttamalla Project Explorerin koodipainiketta.

Valitse vasemmanpuoleisesta avattavasta luettelosta Käyttäjälomake ja sitten oikeanpuoleisesta avattavasta luettelosta Alusta.

Kirjoita seuraava koodi Sub- ja End Sub -tilaan täyttääksesi pudotusvalikon:

1234 Me.cboState.AddItem "Alabama"Me.cboState.AddItem "Alaska"Me.cboState.AddItem "Arizona"Me.cboState.AddItem "Arkansas"

Voimme tietysti jatkaa luetteloa muiden Yhdysvaltojen osavaltioiden kanssa!

Jos haluat nähdä luettelon toiminnassa, suorita käyttäjälomake 1) vaihda takaisin lomakenäkymään ja 2) napsauta työkalupalkissa Juosta -painiketta.

Näet luettelon napsauttamalla avattavaa nuolta.

Voimme myös käyttää alueita Excelissä yhdistelmäruudun täyttämiseen.

123456 Yksityinen alikäyttäjäForm_Initialize ()Dim rng as RangeJokaiselle alueen alueelle ("A1: A50")Me.cboState.AddItem rng.ValueSeuraava rngEnd Sub

Tämä poimii kaikki alueeseen A1 - A50 tallennetut arvot ja täyttää avattavan luettelon sen mukaisesti.

Luetteloruudun ohjausobjektin luominen

Luetteloruudun ohjaus toimii samalla tavalla kuin yhdistelmälaatikon ohjaus, mutta antaa meille mahdollisuuden nähdä kaikki lomakkeen vaihtoehdot luettelomuodossa.

Valitse luetteloruudun ohjaus työkalupalkista ja luo sitten luetteloruutu vetämällä.

Oletko kyllästynyt etsimään esimerkkejä VBA -koodista? Kokeile AutoMacroa!

Arvojen lisääminen luetteloruutuun

Kirjoita lomakkeen Initialize -tapahtumaan seuraava koodi:

123456 Yksityinen alikäyttäjäForm_Initialize ()Dim rng as RangeJokaiselle alueen alueelle ("A1: A50")Me.lstState.AddItem rng.ValueSeuraava rngEnd Sub

Kun suoritamme lomakkeen, luetteloruutu näytetään alla olevan kuvan mukaisesti:

Valintaruudun ohjausobjektin luominen

Valintaruutujen avulla käyttäjä voi valita vai poistaa valinnan.

Valitse valintaruudun ohjaus ja napsauta sitten lomaketta, johon haluat sen siirtyvän.

Muuta ominaisuusikkunan valintaruudun otsikkoa ja nimeä.

Vaihtoehtoryhmäohjaimen luominen lisäpainikkeilla

Vaihtoehtoryhmän avulla käyttäjä voi valita useista käytettävissä olevista vaihtoehdoista. Ensimmäinen askel asetusryhmän luomisessa on lisätä kehyksen ohjausobjekti lomakkeeseen ja sitten lisävarustepainikkeet lisättyyn kehykseen. Näin varmistamme, että kun suoritamme lomaketta, vain yksi kehyksen sisällä olevista Option -painikkeista voidaan valita kerrallaan.

Valitse kehysohjaus työkalupalkista ja luo sitten kehys vetämällä lomakkeeseen vetämällä.

Valitse Option Button -ohjaus työkalurivistä ja napsauta sitten YLÖS luodun kehyksen sisällä lisätäksesi vaihtoehto -painikkeen kehykseen. Toista tarvittaessa.

Napsauta kehystä ja 1) muokkaa kehyksen nimeä ja kuvatekstiä. 2) Napsauta sitten jokaista vaihtoehtopainiketta ja muokkaa kuvatekstiä.

Lomakkeesta poistumisen komentopainikkeen luominen

Tässä vaiheessa ainoa tapa sulkea lomake on käyttää lomakkeen ohjauspalkin oikeassa kulmassa olevaa sulkemispainiketta. Tehokkaampi tapa poistua lomakkeesta, ja voimme hallita sitä paremmin, on luoda lomakkeeseen Poistu -painike. Tämä tehdään työkalupakissa olevan Command Button Controlin avulla.

Valitse komentopainikkeen ohjausobjekti ja luo sitten painike napsauttamalla ja vetämällä lomakkeessa.

Muuta Caption Property -ominaisuuden avulla komentopainikkeen kuvatekstiksi OK ja Accelerator -asetukseksi “O”.

Acceleratorin tarkoituksena on, että käyttäjä käyttää näppäimistöä painikkeen aktivoimiseen, tässä tapauksessa Alt+O. aktivoi painikkeen.

Suuri tuote. AutoMacro ei vain kirjoita koodiasi, se opettaa aina! " - Tony, Iso -Britannia

Lue lisää

Lue yli 900 arvostelua

Koodin lisääminen komentopainikkeeseen

Jotta komentopainike toimisi, meidän on lisättävä koodi sen taakse niin, että kun painiketta napsautetaan, koodi suoritetaan. Tätä kutsutaan painikkeen napsautustapahtumaksi.

Pääset napsautustapahtumaan kaksoisnapsauttamalla painiketta lomakkeen suunnittelunäkymässä.

1) Napsautustapahtuma luodaan automaattisesti, koska tätä tapahtumaa käytetään yleisimmin komentopainikkeissa.

2) Jos napsauttaisimme oikealla puolella olevaa avattavaa menettelytapaa, näemme luettelon kaikista komentopainikkeen käytettävissä olevista tapahtumatavoista. Tämä luettelo muuttuu luomamme ohjausobjektin mukaan, koska eri tyyppisille ohjaimille on saatavilla erilaisia ​​tapahtumia.

Kirjoita seuraava koodi komentopainikkeen napsautustapahtumaan.

123456789101112131415 Yksityinen ali cmdOK_Click ()Alue ("E1") = Me.txtEnsinimiAlue ("E2") = Me.txtSukunimiAlue ("E3") = Me.txtCellPhoneAlue ("E4") = Me.cboStateJos Me.ckContactInfo = Tosi sittenAlue ("E5") = "SMS sallittu"MuuAlue ("E5") = "Tekstiviestejä ei sallita"Loppu JosJos Me.opt1.Value = True Sitten Range ("E6") = Me.opt1.CaptionJos Me.opt2.Value = True Sitten Range ("E6") = Me.opt2.CaptionJos Me.opt3.Value = True Sitten Range ("E6") = Me.opt3.CaptionPurkaa minutEnd Sub

Voimme sitten suorittaa lomakkeen, täyttää tekstikentät ja valita avattavasta luettelosta. Napsauta sitten OK syöttääksesi tiedot Exceliin.

wave wave wave wave wave