Introduktion till VBA och Excel-filer
Visual Basic for Applications (VBA) är ett kraftfullt programmeringsspråk som används för att automatisera uppgifter i Microsoft Excel. I denna artikel kommer vi att fokusera på hur du kan skriva makrokod för att stänga Excelböcker på ett effektivt sätt. Oavsett om du behöver stänga en fil efter att ha importerat data eller bara vill kunna stänga vissa dokument automatiskt, så kan detta vara en lösning.
Varför stänga Excelfiler med makrokod?
Att stänga Excelfiler med makrokod kan spara tid och minska risken för fel. Genom att automatisera processen kan du också säkerställa att inga onödiga varningar visas, vilket kan påverka flödet i ditt arbete. Här kommer vi att gå igenom olika metoder för att stänga Excelböcker, både med kända sökvägar och med hjälp av variabler.
Stänga ned en fil med känd sökväg
För att stänga en specifik Excelbok med en känd sökväg, kan du använda följande kod. Denna kod stänger filen utan att spara några ändringar:
Sub stangaFil()
Application.DisplayAlerts = False
Windows("MinExcelFil.xls").Activate
ActiveWindow.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
Förklaring av koden
I koden ovan har vi valt att stänga filen utan att spara ändringar. Vi stänger av Excel's varningar temporärt genom att sätta DisplayAlerts
till False
, vilket förhindrar att eventuella varningsrutor stör makrokörningen. Kom ihåg att sätta tillbaka DisplayAlerts
till True
när du är klar.
Stänga ned en fil med variabelnamn
För att göra din kod mer flexibel kan du tilldela variabelnamn till de filer som öppnas. Här är en justerad version av koden:
Sub stangaFil()
Application.DisplayAlerts = False
Windows(strFil_1).Activate
ActiveWindow.Close SaveChanges:=False
Application.DisplayAlerts = True
End Sub
Använda variabler för ökad flexibilitet
Genom att använda variabler kan du enkelt ändra vilken fil som stängs utan att behöva ändra i koden på flera ställen. Detta är särskilt användbart när du arbetar med många filer.
Öppning och stängning av en textfil
Nedan följer ett komplett exempel där användaren får välja vilken textfil som ska öppnas och stängas. Filen öppnas, och när du är klar stängs den utan att några ändringar sparas:
Sub oppnaOchstangaTextFil()
'deklarera variabler
Dim strFil_1 As String
'hämtar in vilken fil som skall öppnas
strFil_1 = Application.GetOpenFilename
On Error GoTo 99
'öppnar filen
Workbooks.OpenText Filename:=strFil_1, _
Origin:=xlWindows, StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, Comma:=False, Space:=False, Other:=False, _
FieldInfo:=Array(1, 1)
'tilldelar den öppnade filen ett variabelnamn
strFil_1 = ActiveWindow.Caption
'--------------------------------------------------------
'här kan vi göra saker med filen som vi precis har öppnat
'--------------------------------------------------------
'stänger ned filen
Application.DisplayAlerts = False
Windows(strFil_1).Activate
ActiveWindow.Close SaveChanges:=False
Application.DisplayAlerts = True
99:
End Sub
Sammanfattning
Att lära sig att stänga Excelböcker med VBA är en värdefull färdighet som kan effektivisera ditt arbete och spara tid. Genom att använda de metoder vi har diskuterat kan du enkelt stänga filer utan att oroa dig för att spara oönskade ändringar. Med lite övning kan du även skapa mer komplexa makron som hanterar filer på ett ännu mer effektivt sätt.