VBA ja makrot

Excel-taulukon monistaminen automaattisesti

Näin teet helposti viikottaiset kopiot Excel-taulukostasi.

Riippumatta työskenteletkö opettajana vai taloushallinnon ammattilaisena, silloin tällöin tulee tarve monistaa Excel-taulukosta kopioita esimerkiksi viikoittain. Koska vuodessa on 52 viikkoa, on ”Tallenna nimellä” -toiminnon käyttäminen hidasta ja virhealtista.

Helpompaa on kopioida taulukkoa VBA-makron avulla. Toimenpide vaatii vain pari riviä koodia, joten minkäänlaista ohjelmointitaitoa ei vaadita.

1 Avaa taulukko jota haluat monistaa. Syötä vain ne tiedot joiden haluat toistuvan jokaisessa kopiossa. Käytämme tässä Microsoftin tarjoamaa esimerkkitaulukkoa viikottaisten läsnäolojen seurantaan.

Esimerkkitaulukko

2 Avaa Excelin VBA-editori näppäinyhdistelmällä Alt + F11. Editori aukeaa uuteen ikkunaan.

3 Editorin vasemmasta reunasta löytyy puunäkymä, jonka yksi kohta on nimeltään ”VBAProject”. Laajenna näkymä tarvittaessa +-ikonista. Klikkaa ”Modules”-kansiota hiiren oikealla, valitse avautuvasta listasta ”Insert”, jonka alta valitse ”Module”. Editorin pääikkunaan aukeaa uusi tyhjä sivu.

Uuden VBA-moduulin lisääminen

4 Kopioi editorin tyhjälle sivulle koodi:

Sub LuoKopiot()
    Dim i As Integer
    For i = 1 To 52
        ActiveWorkbook.SaveCopyAs "H:\Testikansio\Läsnäolot_vk" & i & ".xlsx"
    Next
End Sub

Koodissa on vain kaksi kohtaa, joita on tarpeen muokata. Kolmannen rivin luku ”52” kertoo kuinka monta kopiota halutaan luoda. Neljäs rivi puolestaan määrittelee mihin taulukot tallennetaan ja miten ne nimetään. Oletuksena ne menevät H-asemalla sijaitsevaan testikansioon ja tiedostojen nimeksi tulee esimerkiksi ”Läsnäolot_vk18.xlsx”.

5 Lopuksi klikkaa editorin työkalurivillä näkyvää vihreää nuolta, joka suorittaa koodin.

VBA-funktion suorittaminen

Lyhyen odottelun jälkeen koodissa määrittelemääsi kansioon on ilmestynyt 52 kopiota taulukostasi. Taulukot eroavat toisistaan ainoastaan tiedostonimen perusteella, jossa on juokseva numerointi 1-52.

Monistetut Excel-taulukot resurssienhallinnassa

Lisävinkki: Jos tallennat koodin moduuliin, se säilyy tietokoneessasi ja on käytettävissä myöhemminkin. Tarvittaessa VBA-koodia voi tallentaa myös yksittäisen työkirjan taustalle, jossa se kulkee tiedoston mukana.

Kirjoittajasta

Tommi Honkala

Pienyrittäjä, tietojenkäsittelyn tradenomi, Excelin pyörittelijä ja yleisnörtti PK-seudulta.

Kommentoi

This site uses Akismet to reduce spam. Learn how your comment data is processed.