Automatisera stängning av Excel-filer med VBA

Först publicerad:

| © ExcelKungen.com

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.

Populära artiklar

Dagens tips

Relaterade artiklar