Ilmainen Excel-kurssiTietotekniikka

Oppitunti 16 – Excel-makrot ja VBA

16.1 Makrojen nauhoittaminen


Yhteenveto

Excelin makroja käytetään toimintojen automatisointiin. Ne ovat siis toimintosarjoja. Kaikki mitä voi tehdä Excelissä käsin, on mahdollista tallentaa makroon.

Makroja on mahdollista kirjoittaa koodimuodossakin, mutta tällä oppitunnilla keskitytään vain käyttäjän toimintojen nauhoittamiseen. Ja toistamiseen.

Makrojen kanssa on noudatettava erityistä huolellisuutta, sillä suoritettuja toimintoja ei voi perua normaaliin tapaan. Lisäksi makroilla on mahdollista tehdä asioita käyttöjärjestelmätasollakin: Esimerkiksi lukea ja poistaa tiedostoja.

Muista, että makroja sisältävät työkirjat on tallennettava makrotyökirjoina .xlsm tiedostomuodossa. Normaali tallennusmuoto .xlsx. Tallennusmuoto valitaan, kun tallennat työkirjaa ensimmäisen kerran.

Oppitunnin materiaalit

Harjoitustehtävät

1) Miksi CTRL + C olisi huono pikanäppäinyhdistelmä makron suorittamiseen?
2) Haluat, että makro valitsee aina suorituksen yhteydessä solun A1. Valitsetko absoluuttisen vai suhteellisen soluvittaustavan, vai onko sillä väliä?
3) Kannattaako kaikkiin makrojen antamat varoitukset ohittaa?

Harjoitustehtävien vastaukset

Voit ladata harjoitusta varten Excel-tiedoston ”Oppitunnin materiaalit” kohdasta.

1) CTRL + C pikanäppäinyhdistelmä on jo varattu tietojen kopiointiin.
2) Absoluuttisen. Absoluuttista soluvittaustapaa käyttäen makro valitsee suorituksen yhteydessä saman solun kuin nauhoitusvaiheessa. Suhteellisessa soluviittauksessa makron suorittaminen valitsisi solun suhteessa nauhoituksen aloitushetkellä valittuun soluun. Absoluuttinen ja suhteellinen soluviittaus eivät ole merkityksellisiä silloin, kun makron nauhoituksen aikana ei siirrytä mihinkään soluun.
3) Jos olet itse luonut Excel-työkirjan ja tiedät mitä sen sisältämät makrot tekevät, niin periaatteessa kyllä. Makroilla on kuitenkin mahdollista mm. poistaa tiedostoja tietokoneelta tai suorittaa muita ohjelmia. Internetistä tai muilta saatuihin makroja sisältäviin työkirjoihin kannattaa siis suhtautua varauksellisesti.


16.2 Makrokoodin muokkaaminen editorissa


Yhteenveto

Excel tallentaa nauhoitetut makrot koodina. On hyödyllistä oppia muokkaamaan makrokoodia. Toisinaan voi olla nopeampaa muuttaa arvoja koodista suoraan, kuin tallentaa aina uusi makro. Lisäksi koodin ymmärtäminen mahdollistaa osaamisen kasvaessa sellaisten omien toimintojen tekemisen, joiden toteuttaminen ei ole edes mahdollista pelkällä nauhoituksella. Tällä oppitunnilla otetaan vasta pintaraapaisu koodieditoriin ja makrokoodin ymmärtämiseen.
Makrokoodi tunnetaan myös nimellä VBA, eli Visual Basic for Applications. Visual Basic on ohjelmointikieli, ja ”for Applications” tarkoittaa, että kieli on räätälöity toimiamaan Excelin kaltaisissa ohjelmissa.

Oppitunnin materiaalit

Harjoitustehtävät

1) Tallentaako Excel makron aina moduuliin, jonka nimi on ”Module1”?
2) Voiko makron kirjoittaa kokonaan itse käyttämättä nauhoitustoimintoa?
3) Mikä pikanäppäinyhdistelmä avaa koodieditorin?

Harjoitustehtävien vastaukset

Voit ladata harjoitusta varten Excel-tiedoston ”Oppitunnin materiaalit” kohdasta.

1) Ei. Jos suljet ja avaat työkirjan uudestaan, makro voi tallentua esimerkiksi moduuliin ”Module2”.
2) Kyllä. Jos kirjoitat täsmälleen saman koodin mihin tahansa moduuliin ilman nauhoittamista, se toimii täsmälleen samalla tavalla.
3) ALT + F11

Siirry Excel-kurssin pääsivulle

2 thoughts on “Oppitunti 16 – Excel-makrot ja VBA

  1. Hei! Aloitin työt koulusihteerinä ja ongelmana on se, että exelistä ei ole kokemusta. Toivon, että tätä kautta saan apua.

Jätä kommentti