Yksi tapa saada VBA-koodi VBA-moduuliin on käyttää Excel-makrotallenninta toimintojesi tallentamiseen ja muuntamiseen VBA-koodiksi. Kaikkia tehtäviä ei kuitenkaan voida kääntää VBA:ksi tallentamalla makro. Voit myös syöttää koodin suoraan tai kopioida koodin yhdestä moduulista ja liittää sen toiseen.
Tekstin syöttäminen ja muokkaaminen VBA-moduulissa toimii odotetusti. Voit valita, kopioida, leikata, liittää ja tehdä muita asioita tekstille.
Yksi VBA-koodirivi voi olla niin pitkä kuin haluat. Voit kuitenkin haluta käyttää rivin jatkomerkkiä pitkien koodirivien hajottamiseen. Jos haluat jatkaa yksittäistä koodiriviä (tunnetaan myös lauseena ) riviltä toiselle, lopeta ensimmäinen rivi välilyöntiin, jota seuraa alaviiva (_). Jatka sitten lausetta seuraavalla rivillä. Tässä on esimerkki yhdestä lausunnosta, joka on jaettu kolmeen riviin:
Selection.Sort Key1:=Range("A1"), _
Järjestys1:=xlNouseva, Otsikko:=xlArvaus, _
Suunta:=xlTopToBottom
Tämä lauseke toimisi samalla tavalla, jos se kirjoitettaisiin yhdelle riville (ilman rivin jatkomerkkejä).
VBE:ssä on useita kumoa- ja toistamistasoja. Jos poistit lauseen, jota sinun ei pitäisi olla, käytä työkalupalkin Kumoa-painiketta (tai paina Ctrl+Z), kunnes lause tulee uudelleen näkyviin. Kumoamisen jälkeen voit käyttää Toista-painiketta suorittaaksesi tekemäsi muutokset.
Oletko valmis syöttämään oikean, live-koodin? Kokeile seuraavia vaiheita:
Luo uusi työkirja Excelissä.
Aktivoi VBE painamalla Alt+F11.
Napsauta uuden työkirjan nimeä projektiikkunassa.
Valitse Lisää → Moduuli lisätäksesi VBA-moduulin projektiin.
Kirjoita seuraava koodi moduuliin:
Sub-Arvausnimi()
Himmeä viesti merkkijonona
Dim Ans As Long
Msg = "Onko nimesi " & Application.UserName & "?"
Ans = ViestiBox(Viesti, vbYesNo)
Jos Ans = vbNo Sitten MsgBox "Voi, ei välitä."
Jos Ans = vbYes Sitten MsgBox "Minun täytyy olla selvänäkijä!"
Lopeta ala
Varmista, että kohdistin on missä tahansa kirjoittamassasi tekstissä, ja suorita toimenpide painamalla F5.
F5 on Suorita → Run Sub/UserForm -komennon pikakuvake.
Kun syötät vaiheessa 5 luetellun koodin, saatat huomata, että VBE tekee joitain muutoksia kirjoittamaasi tekstiin. Esimerkiksi kun olet kirjoittanut Sub-käskyn, VBE lisää automaattisesti End Sub -käskyn. Ja jos jätät välilyönnin pois yhtäläisyysmerkin edessä tai jälkeen, VBE lisää välilyönnin puolestasi. Lisäksi VBE muuttaa joidenkin tekstien väriä ja isoja kirjaimia. Nämä muutokset ovat VBE:n tapa pitää asiat siistinä ja luettavissa.
Jos noudatit edellisiä vaiheita, loit juuri VBA-aliproseduurin, joka tunnetaan myös nimellä makro. Kun painat F5, Excel suorittaa koodin ja noudattaa ohjeita. Toisin sanoen Excel arvioi jokaisen lauseen ja tekee sen, mitä käskit sen tekemään. Voit suorittaa tämän makron kuinka monta kertaa tahansa – vaikka se yleensä menettää houkuttelevuutensa muutaman kymmenen suorituksen jälkeen.
Tämä yksinkertainen makro käyttää seuraavia käsitteitä:
-
Alimenettelyn määrittäminen (ensimmäinen rivi)
-
Muuttujien ilmoittaminen (Dim-lauseet)
-
Arvojen antaminen muuttujille (Msg ja Ans)
-
Merkkijonon ketjuttaminen (liittäminen) (käyttäen &-operaattoria)
-
Sisäänrakennetun VBA-toiminnon käyttäminen (MsgBox)
-
Sisäänrakennettujen VBA-vakioiden käyttäminen (vbYesNo, vbNo ja vbYes)
-
Jos-niin -rakenteen käyttäminen (kahdesti)
-
Aliprosessin lopettaminen (viimeinen rivi)
Kuten mainittiin, voit kopioida ja liittää koodin VBA-moduuliin. Esimerkiksi yhdelle projektille kirjoittamasi ala- tai funktioproseduuri voi olla hyödyllinen myös toisessa projektissa. Sen sijaan, että tuhlasit aikaa koodin syöttämiseen, voit aktivoida moduulin ja käyttää tavallisia kopioi- ja liittämistoimenpiteitä (Ctrl+C kopioidaksesi ja Ctrl+V liittääksesi). Kun olet liittänyt koodin VBA-moduuliin, voit muokata koodia tarpeen mukaan.