Noen ganger vil du kanskje eller trenger å lage en Excel-arbeidsbok på en automatisert måte. Det kan for eksempel hende du må kopiere data fra en tabell og lime dem inn i en nyopprettet arbeidsbok. Den følgende makroen kopierer en rekke celler fra det aktive arket og limer inn dataene i en ny arbeidsbok.
Hvordan makroen fungerer
Som du vil se når du leser gjennom linjene i koden, er denne makroen relativt intuitiv:
Sub Makro1()
'Trinn 1 Kopier dataene
Sheets("Eksempel 1").Range("B4:C15").Kopi
'Trinn 2 Opprett en ny arbeidsbok
Arbeidsbøker.Legg til
'Trinn 3 Lim inn dataene
ActiveSheet.Paste Destination:=Range("A1")
'Trinn 4 Slå av applikasjonsvarsler
Application.DisplayAlerts = False
'Trinn 5 Lagre den nyopprettede arbeidsboken
ActiveWorkbook.SaveAs _
Filnavn:="C:TempMyNewBook.xlsx"
'Trinn 6 Slå på appvarsler igjen
Application.DisplayAlerts = Sant
End Sub
I trinn 1 kopierer du ganske enkelt dataene som spenner fra cellene B4 til C15. Merk at du spesifiserer både arket og området etter navn. Denne tilnærmingen er en beste praksis når du arbeider med flere åpne arbeidsbøker.
I trinn 2 bruker du Legg til-metoden til arbeidsbokobjektet for å lage en arbeidsbok. Den tomme arbeidsboken tilsvarer manuelt å velge Fil → Nytt → Tomt dokument i Excel-båndet.
I trinn 3 bruker du Lim inn-metoden til å sende de kopierte dataene til celle A1 i den nye arbeidsboken.
Vær oppmerksom på at koden refererer til ActiveSheet-objektet. Når du legger til en arbeidsbok, får den nye arbeidsboken umiddelbart fokus, og blir den aktive arbeidsboken. (Excel gjør det samme når du legger til en arbeidsbok manuelt.)
I trinn 4 av koden setter du DisplayAlerts-metoden til False, og slår effektivt av Excels advarsler. Du gjør dette fordi du i neste trinn i koden lagrer den nyopprettede arbeidsboken. Du kan kjøre denne makroen flere ganger, i så fall prøver Excel å lagre filen flere ganger.
Hva skjer når du prøver å lagre en arbeidsbok flere ganger? Det stemmer – Excel advarer deg om at det allerede er en fil med det navnet, og spør deretter om du vil overskrive den tidligere eksisterende filen. Fordi målet ditt er å automatisere opprettelsen av arbeidsboken, vil du undertrykke denne advarselen.
I trinn 5 lagrer du filen ved å bruke SaveAs-metoden. Merk at du skriver inn hele banen til lagringsstedet, inkludert det endelige filnavnet.
Fordi du slo av programendringer i trinn 4, må du slå dem på igjen (se trinn 6). Hvis du ikke gjør det, fortsetter Excel å undertrykke alle advarsler under gjeldende økt.
Hvordan bruke makroen
For å implementere denne makroen kan du kopiere og lime den inn i en standardmodul:
Aktiver Visual Basic Editor ved å trykke Alt+F11.
Høyreklikk navnet på prosjektet/arbeidsboken i prosjektvinduet.
Velg Sett inn → Modul.
Skriv eller lim inn koden i den nyopprettede modulen.
Du må sannsynligvis endre arknavnet, områdeadressen og lagringsstedet.