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 den här artikeln fokuserar vi på hur du skriver 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 stänga vissa dokument automatiskt kan det här 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å se till att inga onödiga varningar visas, vilket annars kan störa flödet i ditt arbete. Här går vi 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 känd sökväg kan du använda följande kod. Koden 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 Excels 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. Det ä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 stänga Excelböcker med VBA är en värdefull färdighet som kan effektivisera ditt arbete och spara tid. Med de metoder vi har gått igenom kan du enkelt stänga filer utan att behöva oroa dig för att oönskade ändringar sparas. Med lite övning kan du även skapa mer komplexa makron som hanterar filer ännu effektivare.