Üks viis VBA-koodi VBA-moodulisse hankimiseks on kasutada Exceli makrosalvestit oma toimingute salvestamiseks ja nende teisendamiseks VBA-koodiks. Kuid kõiki ülesandeid ei saa makro salvestamise teel VBA-sse tõlkida. Samuti saate koodi sisestada otse või kopeerida koodi ühest moodulist ja kleepida selle teise.
Teksti sisestamine ja redigeerimine VBA moodulis toimib ootuspäraselt. Saate teksti valida, kopeerida, lõigata, kleepida ja teha muid toiminguid.
Üks VBA-koodi rida võib olla nii pikk, kui soovite. Pikkade koodiridade lahutamiseks võite siiski kasutada reajätku märki . Ühe koodirea (tuntud ka kui lause ) jätkamiseks ühelt realt järgmisele lõpetage esimene rida tühikuga, millele järgneb allkriips (_). Seejärel jätkake avaldust järgmisel real. Siin on näide ühest avaldusest, mis on jagatud kolmeks reale:
Selection.Sort Key1:=Range("A1"), _
Järjestus1:=xlkasvav, päis:=xlarvamine, _
Orientatsioon:=xlTopToBottom
See lause toimiks samamoodi, kui see sisestataks ühele reale (ilma rea jätkumärkideta).
VBE-l on mitu tagasivõtmise ja uuesti tegemise taset. Kui kustutasite avalduse, mida teil poleks tohtinud olla, kasutage tööriistariba nuppu Võta tagasi (või vajutage klahvikombinatsiooni Ctrl+Z), kuni lause uuesti ilmub. Pärast tagasivõtmist saate tagasivõetud muudatuste tegemiseks kasutada nuppu Tee uuesti.
Kas olete valmis sisestama tõelist reaalajas koodi? Proovige järgmisi samme.
Looge Excelis uus töövihik.
VBE aktiveerimiseks vajutage Alt+F11.
Klõpsake projekti aknas uue töövihiku nime.
VBA mooduli projekti lisamiseks valige Lisa → Moodul.
Tippige moodulisse järgmine kood:
Sub GuessName()
Hämarda sõnum stringina
Dim Ans As Long
Msg = "Kas teie nimi on " & Application.UserName & "?"
Ans = MsgBox (SMS, vbYesNo)
Kui Ans = vbNo Siis MsgBox "Oh, pole midagi."
Kui Ans = vbYes Siis MsgBox "Ma pean olema selgeltnägija!"
Lõpeta alam
Veenduge, et kursor asuks suvalises kohas sisestatud tekstis, ja seejärel vajutage protseduuri teostamiseks klahvi F5.
F5 on käsu Run → Run Sub/UserForm otsetee.
Kui sisestate sammus 5 loetletud koodi, võite märgata, et VBE muudab sisestatud teksti mõningaid muudatusi. Näiteks pärast alamlause tippimist lisab VBE automaatselt alamlause End. Ja kui jätate tühiku enne või pärast võrdusmärki välja, lisab VBE teie jaoks tühiku. Samuti muudab VBE mõne teksti värvi ja suurtähti. Need muudatused on VBE viis hoida asjad korras ja loetavad.
Kui järgisite eelmisi samme, lõite just VBA alamprotseduuri, mida tuntakse ka makrona. Kui vajutate klahvi F5, käivitab Excel koodi ja järgib juhiseid. Teisisõnu hindab Excel iga väidet ja teeb seda, mida sa käskisid tal teha. Saate seda makrot käivitada suvalise arvu kordi – kuigi see kipub pärast mõnekümne täitmist oma atraktiivsust kaotama.
See lihtne makro kasutab järgmisi mõisteid:
-
Alamprotseduuri määratlemine (esimene rida)
-
Muutujate deklareerimine (Dim-laused)
-
Väärtuste määramine muutujatele (Sõnum ja Ans)
-
Stringi ühendamine (liitmine) (kasutades &-operaatorit)
-
Sisseehitatud VBA funktsiooni kasutamine (MsgBox)
-
Sisseehitatud VBA konstantide kasutamine (vbYesNo, vbNo ja vbYes)
-
Kui-siis konstruktsiooni kasutamine (kaks korda)
-
Alamprotseduuri lõpetamine (viimane rida)
Nagu mainitud, saate koodi kopeerida ja kleepida VBA-moodulisse. Näiteks võib ühe projekti jaoks kirjutatud alam- või funktsiooniprotseduur olla kasulik ka mõnes teises projektis. Selle asemel, et raisata aega koodi uuesti sisestamisele, saate mooduli aktiveerida ja kasutada tavalisi kopeerimis- ja kleepimisprotseduure (kopeerimiseks Ctrl+C ja kleepimiseks Ctrl+V). Pärast koodi kleepimist VBA-moodulisse saate koodi vastavalt vajadusele muuta.