Joskus paras reitti Excel 2016:n koodin syöttämiseen on suorin. VBA-koodin syöttäminen suoraan sisältää … no, koodin syöttämisen suoraan. Toisin sanoen kirjoitat koodin näppäimistöllä. Tekstin syöttäminen ja muokkaaminen VBA-moduulissa toimii odotetusti. Voit valita, kopioida, leikata, liittää ja tehdä muita asioita tekstille.
Sisennä joitakin rivejä Tab-näppäimellä, jotta koodisi on helpompi lukea. Sisennys ei ole välttämätöntä, mutta se on hyvä tapa hankkia.
Yksi VBA-koodirivi voi olla niin pitkä kuin tarvitset. Voit kuitenkin haluta käyttää rivin jatkomerkkejä pitkien koodirivien hajottamiseen. Jos haluat jatkaa yksittäistä koodiriviä (tunnetaan myös lauseena) riviltä toiselle, lopeta ensimmäinen rivi välilyönnillä ja alaviivalla (_). Jatka sitten lausetta seuraavalla rivillä. Ja älä unohda tilaa. Alaviiva, jota ei edeltä välilyönti, ei tee työtä.
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 täsmälleen samalla tavalla, jos se kirjoitettaisiin yhdelle riville (ilman rivin jatkomerkkejä). Huomaa, että tämän lausunnon toinen ja kolmas rivi on sisennetty. Sisennys on valinnainen, mutta se auttaa selventämään, että nämä rivit eivät ole erillisiä lausekkeita.
Valkopäällysteiset insinöörit, jotka suunnittelivat VBE:n, odottivat ihmisten tekevän virheitä. Siksi VBE:ssä on useita kumoa- ja uudelleentoimitustasoja. Jos poistit lausunnon, jota sinun ei pitäisi olla, napsauta 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 koodin? Kokeile seuraavia vaiheita:
Luo uusi työkirja Excelissä.
Aktivoi VBE painamalla Alt+F11.
Napsauta uuden työkirjan nimeä Projekti-ikkunassa.
Valitse Lisää → Moduuli lisätäksesi VBA-moduulin projektiin.
Kirjoita seuraava koodi moduuliin:
Sub-Arvausnimi()
Msg = "Onko nimesi " & Application.UserName & "?"
Ans = ViestiBox(Viesti, vbYesNo)
Jos Ans = vbNo Sitten MsgBox "Voi, ei välitä."
Jos Ans = vbYes, MsgBox "Minun täytyy olla psyykkinen!"
Lopeta ala
Aseta kohdistin minne tahansa kirjoittamassasi tekstissä ja paina F5 suorittaaksesi toimenpiteen.
F5 on Suorita → Run Sub/UserForm -komennon pikakuvake. Jos syötit koodin oikein, Excel suorittaa toimenpiteen ja voit vastata yksinkertaiseen valintaikkunaan. Muista, että valintaikkunan teksti on erilainen.
GuessName-toiminto näyttää tämän valintaikkunan.
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. Tämä kaikki on täysin normaalia. Se on vain VBE:n tapa pitää asiat siistinä ja luettavana.
Jos noudatit edellisiä vaiheita, kirjoitit 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. (Älä anna tämän uuden löydetyn voiman mennä päähäsi.) Voit suorittaa tämän makron kuinka monta kertaa tahansa – vaikka se yleensä menettää vetovoimansa muutaman kymmenen kerran jälkeen.
Tässä yksinkertaisessa makrossa käytetään seuraavia käsitteitä:
-
Alimenettelyn määrittäminen (ensimmäinen rivi)
-
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)
Ei paha aloittelijalle, vai mitä?