Jokainen VBA:ssa luomasi Excel-valintaikkuna on tallennettu omaan UserForm-objektiinsa – yksi valintaikkuna per UserForm. Luot ja käytät näitä käyttäjälomakkeita Visual Basic Editorissa.
Uuden käyttäjälomakkeen lisääminen
Lisää UserForm-objekti seuraavasti:
Aktivoi VBE painamalla Alt+F11.
Valitse työkirja, jossa UserForm on Project-ikkunassa.
Valitse Lisää → Käyttäjälomake.
VBE lisää uuden UserForm-objektin, joka sisältää tyhjän valintaikkunan.
Tässä on UserForm - tyhjä valintaikkuna. Sinun tehtäväsi, jos päätät hyväksyä sen, on lisätä joitain ohjaimia tähän käyttäjälomakkeeseen.
Uusi UserForm-objekti.
Ohjainten lisääminen UserFormiin
Kun aktivoit UserFormin, VBE näyttää Toolboxin kelluvassa ikkunassa. Käytät Toolboxin työkaluja lisätäksesi säätimiä UserFormiisi. Jos työkalulaatikko ei jostain syystä tule näkyviin, kun aktivoit UserFormin, valitse Näytä → Työkalulaatikko.
Lisää ohjausobjekti napsauttamalla haluamaasi ohjausobjektia Toolboxissa ja vetämällä se valintaikkunaan luodaksesi ohjausobjektin. Kun olet lisännyt ohjausobjektin, voit siirtää sen ja muuttaa sen kokoa vakiotekniikoilla.
Tässä on luettelo erilaisista työkaluista sekä niiden ominaisuuksista.
Ohjaus |
Mitä se tekee |
Label |
Näyttää tekstiä |
Tekstilaatikko |
Antaa käyttäjän kirjoittaa tekstiä |
Yhdistelmälaatikko |
Näyttää avattavan luettelon |
ListBox |
Näyttää luettelon kohteista |
Valintaruutu |
Tarjoaa vaihtoehtoja, kuten päälle/pois tai kyllä/ei |
OptionButton |
Antaa käyttäjän valita yhden useista vaihtoehdoista; käytetään
kahden tai useamman hengen ryhmissä |
ToggleButton |
Mahdollistaa käyttäjän kytkeä painikkeen päälle tai pois päältä |
Kehys |
Sisältää muita säätimiä |
Komentopainike |
Napsautettava painike |
TabStrip |
Näyttää välilehdet |
Monisivuinen |
Välilehtillinen säiliö muille esineille |
Vierityspalkki |
Antaa käyttäjän vetämällä palkkia asetuksen määrittämiseksi |
SpinButton |
Antaa käyttäjän napsauttaa painiketta muuttaakseen arvoa |
Kuva |
Pitää kuvan |
RefEdit |
Antaa käyttäjän valita alueen |
UserForm-ohjausobjektin ominaisuuksien muuttaminen
Jokaisella UserFormiin lisäämälläsi ohjausobjektilla on ominaisuuksia, jotka määrittävät, kuinka ohjausobjekti näyttää tai käyttäytyy. Lisäksi itse UserFormilla on omat ominaisuudet. Voit muuttaa näitä ominaisuuksia osuvasti nimetyllä Ominaisuudet-ikkunalla. Tämä näyttää Ominaisuudet-ikkunan, kun CommandButton-ohjausobjekti on valittuna.
Käytä Ominaisuudet-ikkunoita muuttaaksesi UserForm-säätimien ominaisuuksia.
Ominaisuudet-ikkuna tulee näkyviin, kun painat F4-näppäintä, ja tässä ikkunassa näkyvät ominaisuudet riippuvat valitusta asiasta. Jos valitset toisen ohjausobjektin, ominaisuudet muuttuvat kyseiselle ohjausobjektille sopiviksi. Voit piilottaa Ominaisuudet-ikkunan ja saada sen pois tieltä napsauttamalla sen otsikkopalkissa olevaa Sulje-painiketta. F4-näppäin tuo sen aina takaisin, kun tarvitset sitä.
Ohjainten ominaisuuksia ovat seuraavat:
-
Nimi
-
Leveys
-
Korkeus
-
Arvo
-
Kuvateksti
Jokaisella ohjausobjektilla on omat ominaisuudet (vaikka monilla säätimillä on joitain yhteisiä ominaisuuksia). Voit muuttaa ominaisuutta Ominaisuudet-ikkunan avulla seuraavasti:
Varmista, että oikea ohjausobjekti on valittu UserFormissa.
Varmista, että Ominaisuudet-ikkuna on näkyvissä.
Napsauta Ominaisuudet-ikkunassa ominaisuutta, jota haluat muuttaa.
Tee muutos Ominaisuudet-ikkunan oikeaan osaan.
Jos valitset itse UserFormin (et UserFormin ohjausobjektin), voit säätää UserForm-ominaisuuksia Ominaisuudet-ikkunassa.
UserForm Code -ikkunan tarkastelu
Jokaisella UserForm-objektilla on koodimoduuli, joka sisältää VBA-koodin (tapahtumakäsittelijän menettelyt), joka suoritetaan, kun käyttäjä työskentelee valintaikkunan kanssa. Voit tarkastella koodimoduulia painamalla F7. Koodi-ikkuna on tyhjä, kunnes lisäät toimenpiteitä. Paina Shift+F7 palataksesi valintaikkunaan.
Tässä on toinen tapa vaihtaa Koodi-ikkunan ja UserForm-näytön välillä: Käytä Project-ikkunan otsikkorivin View Code- ja View Object -painikkeita. Tai napsauta hiiren kakkospainikkeella UserForm ja valitse Näytä koodi. Jos tarkastelet koodia, kaksoisnapsauta UserForm-nimeä Project-ikkunassa palataksesi UserFormiin.
Käyttäjälomakkeen näyttäminen
Näytät UserForm-lomakkeen käyttämällä UserForm's Show -menetelmää VBA-menettelyssä.
Valintaikkunan näyttävän makron on oltava VBA-moduulissa – ei UserFormin Koodi-ikkunassa.
Seuraava toimenpide näyttää valintaikkunan nimeltä UserForm1:
Sub ShowDialogBox()
UserForm1.Show
Muut lausunnot voivat mennä tänne
Lopeta ala
Kun Excel näyttää valintaikkunan, ShowDialogBox-makro pysähtyy, kunnes käyttäjä sulkee valintaikkunan. Sitten VBA suorittaa kaikki toimenpiteen jäljellä olevat käskyt. Useimmiten sinulla ei ole enää koodia menettelyssä. Kuten myöhemmin näet, sijoitat tapahtumakäsittelijän menettelyt UserFormin Koodi-ikkunaan. Nämä toimenpiteet käynnistyvät, kun käyttäjä työskentelee UserFormin ohjaimien kanssa.
UserForm-tietojen käyttäminen
VBE antaa nimen jokaiselle käyttäjälomakkeeseen lisäämällesi ohjausobjektille. Ohjaimen nimi vastaa sen Name-ominaisuutta. Käytä tätä nimeä viittaamaan tiettyyn ohjausobjektiin koodissasi. Jos esimerkiksi lisäät valintaruudun ohjausobjektin UserForm-nimiseen UserForm1-nimiseen, valintaruudun ohjausobjektin nimi on oletusarvoisesti CheckBox1. Voit käyttää Ominaisuudet-ruutua saadaksesi tämän ohjausobjektin näkyviin valintamerkillä. Tai voit kirjoittaa koodin tehdäksesi sen:
UserForm1.CheckBox1.Value = True
Useimmiten kirjoitat UserFormin koodin UserFormin koodimoduuliin. Jos näin on, voit jättää UserForm-objektitunnisteen pois ja kirjoittaa lausunnon seuraavasti:
Valintaruutu1.Arvo = tosi
VBA-koodisi voi myös tarkistaa säätimien eri ominaisuudet ja ryhtyä tarvittaviin toimiin. Seuraava käsky suorittaa makron nimeltä PrintReport, jos valintaruutu (nimeltään CheckBox1) on valittuna:
Jos CheckBox1.Value = True, soita PrintReport
Yleensä on hyvä idea vaihtaa oletusnimi, jonka VBE on antanut säätimillesi merkityksellisemmäksi.