Du kanske ibland vill eller behöver skapa en Excel-arbetsbok på ett automatiserat sätt. Till exempel kan du behöva kopiera data från en tabell och klistra in den i en nyskapad arbetsbok. Följande makro kopierar ett cellintervall från det aktiva bladet och klistrar in data i en ny arbetsbok.
Hur makrot fungerar
Som du kommer att se när du läser igenom raderna i koden är detta makro relativt intuitivt:
Sub Macro1()
'Steg 1 Kopiera data
Sheets("Exempel 1").Range("B4:C15").Kopiera
'Steg 2 Skapa en ny arbetsbok
Arbetsböcker. Lägg till
'Steg 3 Klistra in data
ActiveSheet.Paste Destination:=Range("A1")
'Steg 4 Stäng av programvarningar
Application.DisplayAlerts = False
'Steg 5 Spara den nyskapade arbetsboken
ActiveWorkbook.SaveAs _
Filnamn:="C:TempMyNewBook.xlsx"
'Steg 6 Aktivera programvarningar igen
Application.DisplayAlerts = Sant
Avsluta Sub
I steg 1 kopierar du helt enkelt data som sträcker sig från cellerna B4 till C15. Observera att du anger både arket och intervallet med namn. Detta tillvägagångssätt är en bästa praxis när du arbetar med flera öppna arbetsböcker.
I steg 2 använder du metoden Lägg till för arbetsboksobjektet för att skapa en arbetsbok. Den tomma arbetsboken är likvärdig med att manuellt välja Arkiv → Nytt → Tomt dokument i Excel-bandet.
I steg 3 använder du metoden Klistra in för att skicka de kopierade data till cell A1 i den nya arbetsboken.
Var uppmärksam på att koden refererar till ActiveSheet-objektet. När du lägger till en arbetsbok får den nya arbetsboken omedelbart fokus och blir den aktiva arbetsboken. (Excel gör samma sak när du lägger till en arbetsbok manuellt.)
I steg 4 i koden ställer du in DisplayAlerts-metoden på False, vilket effektivt stänger av Excels varningar. Du gör detta eftersom du i nästa steg i koden sparar den nyskapade arbetsboken. Du kan köra detta makro flera gånger, i vilket fall Excel försöker spara filen flera gånger.
Vad händer när du försöker spara en arbetsbok flera gånger? Det stämmer — Excel varnar dig för att det redan finns en fil med det namnet och frågar sedan om du vill skriva över den tidigare befintliga filen. Eftersom ditt mål är att automatisera skapandet av arbetsboken, vill du undertrycka den varningen.
I steg 5 sparar du filen genom att använda SaveAs-metoden. Observera att du anger hela sökvägen till lagringsplatsen, inklusive det slutliga filnamnet.
Eftersom du stängde av programändringar i steg 4 måste du aktivera dem igen (se steg 6). Om du inte gör det fortsätter Excel att undertrycka alla varningar under den aktuella sessionen.
Hur man använder makrot
För att implementera detta makro kan du kopiera och klistra in det i en standardmodul:
Aktivera Visual Basic Editor genom att trycka på Alt+F11.
Högerklicka på projektets/arbetsbokens namn i projektfönstret.
Välj Infoga → Modul.
Skriv eller klistra in koden i den nyskapade modulen.
Du måste antagligen ändra arknamnet, intervalladressen och lagringsplatsen.