Wie schließe ich eine excel-arbeitsmappe mit vba?
Um eine Excel-Datei zu schließen, müssen Sie die Methode „Schließen“ verwenden. Bei dieser Methode können Sie festlegen, ob Sie die Änderungen speichern möchten oder nicht. Und wenn Sie eine noch nicht gespeicherte Datei speichern und schließen möchten, können Sie vor dem Schließen den Pfad angeben, in dem Sie die Datei speichern möchten.
Hier ist die Syntax der close-Methode.
Workbook.Close (SaveChanges, FileName, RouteWorkbook)
Schritte zum Schließen einer Arbeitsmappe
- Geben Sie die Arbeitsmappe an, die Sie schließen möchten.
- Verwenden Sie für diese Arbeitsmappe die Close-Methode.
- Geben Sie in der Codemethode an, ob Sie die Datei speichern möchten oder nicht.
- Geben Sie am Ende vor dem Schließen den Pfad an, in dem Sie die Datei speichern möchten.
In diesem Tutorial werden wir uns verschiedene Möglichkeiten zum Schließen einer Arbeitsmappe in Excel mit VBA ansehen.
Nützliche Links: Ausführen eines Makros – Makrorecorder – Visual Basic Editor – Handbuch zu persönlichen Makros
Schließen Sie eine Arbeitsmappe, ohne sie zu speichern
Wenn Sie die aktive Arbeitsmappe ohne Speichern speichern möchten, müssen Sie einen Code wie diesen verwenden.
ActiveWorkbook.Close SaveChanges:=False
In diesem Code habe ich „False“ für das Argument „SaveChanges“ angegeben. Daher ignoriert VBA alle Änderungen in der Arbeitsmappe, die nicht gespeichert werden. Und wenn Sie eine bestimmte Arbeitsmappe schließen möchten, können Sie den Namen dieser Arbeitsmappe verwenden. Genau wie der folgende Code.
Workbooks("book1").Close SaveChanges:=False
Wenn die Arbeitsmappe Daten enthält und Sie das Argument „Änderungen speichern“ ignorieren, zeigt Excel ein Dialogfeld an, in dem Sie bestätigen können, ob Sie die Arbeitsmappe speichern möchten oder nicht. Der Punkt ist folgender: Es ist besser, das Argument „SaveChanges“ anzugeben, auch wenn es optional ist.
Schließen Sie eine Arbeitsmappe, nachdem Sie sie gespeichert haben
Wie Sie gesehen haben, gibt es in der CLOSE-Methode ein Argument zur Angabe der Pfadposition. Nehmen wir an, Sie möchten „Book6“ im Ordner auf dem Desktop speichern. Hier ist der Code, den Sie verwenden müssen.
Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx"
Dieser Code speichert die Arbeitsmappe „Book6“ in dem Ordner auf meinem Desktop unter dem Namen „myFILE.xlsx“. Aber eines müssen Sie beachten: Wenn Sie bereits eine Arbeitsmappe mit demselben Namen haben, wird diese Datei durch die neue ersetzt.
Machen Sie sich keine Sorgen, es gibt eine Lösung, die Sie nutzen können. Der folgende Code prüft, ob eine Datei mit dem Namen vorhanden ist, den Sie verwenden möchten
Sub vba_close_workbook() Dim wbCheck As String wbCheck = Dir("C:UsersDellDesktopmyFoldermyFile.xlsx") If wbCheck = "" Then Workbooks("Book6").Close _ SaveChanges:=True, _ Filename:="C:UsersDellDesktopmyFoldermyFile.xlsx" Else MsgBox "Error! Name already used." End If End Sub