4.8.6 Makrojen rakenne

Makrot ovat pieniä ohjelmamoduuleita, joilla jokaisella on oma tehtävänsä. Jokainen ohjelma suorittaa toisistaan riippumattomasti joitakin pieniä toimenpiteitä. Makro-ohjelmamoduuli alkaa määrittelyllä Sub ohjelman_nimi ja se loppuu määrittelyyn End Sub. Kaikki alku- ja loppurivien väliin tuleva on samaa ja kerralla suoritettavaa kokonaisuutta eli makroa. Alku- ja loppurivien välille voidaan laittaa kommenttaja ja suoritettavaa ohjelmakoodia. Kommentit erottaa rivin alussa olevasta kommenttimerkistä (') , joka kertoo ettei kyseistä riviä suoriteta.

Oheisessa esimerkissä on edellä nauhoitettu makro, jonka rakennetta tarkastellaan seuraavaksi hieman tarkemmin. Makro alkaa määrittelyllä Sub valitse_ja_kopioi_alue(). Riviltä käy muun muassa ilmi, että makron nimi on valitse_ja_kopioi_alue. Seuraavat kolme riviä, jotka alkavat kommenttimerkillä ('), ovat kommentteja. Kommenttirivejä ei suoriteta, joten niillä voi olla kommentteja makron toiminnasta. Kommenttirivien jälkeen tulee ensimmäinen suoritettava rivi Range("A1:B4").Select . Rivin koodi tarkoittaa alueen A1:B4 valitsemista aktiiviseksi. Seuraavalla rivillä valittu alue kopiodaan leikepöydälle. Edelleen valitaan solu D1, jonka jälkeen liitetään leikepöydällä olleet solut edellä valittuun paikkaan. Viimeisellä rivillä on makron lopettava koodi End Sub.

Sub valitse_ja_kopioi_alue()
' valitse_ja_kopioi_alue Macro
' Macro recorded 7.1.2000 by Petri Heinonen
'
    Range("A1:B4").Select
    Selection.Copy
    Range("D1").Select
    ActiveSheet.Paste
End Sub