VBA-Methoden: Eine Datei schließen

datei schliec39fen1

Wenn eine Datei geöffnet und bearbeitet wurde, soll sie irgendwann auch wíeder geschlossen werden. Das wiederum kann manuell oder mit einem Makro erledigt werden.

Das manuelle Schließen war schon im Beitrag „VBA-Methoden: Eine Datei schließen“ ein Thema. Dabei wurde vor dem Schließen eine Speicherung mit einem Makro vorgenommen.

Wenn du eine Datei mit einem Makro schließen willst, gibt es auch hierbei verschiedene Möglichkeiten.

Einfaches Schließen einer Datei

Für das Schließen der aktiven Datei wird die Methode Close genutzt. Das geht so:

Sub SchließenDatei1()
ActiveWorkbook.Close
End Sub

Wenn du vorher nicht gespeichert hast, bekommst du diese Mitteilung:

Datei_schließen1

Erst wenn du dann „Speichern“ klickst, wird die Datei geschlossen. Das kannst du umgehen, wenn du den Speichern-Befehl in deinen Code mit einbaust. Zwei Möglichkeiten hast du hierfür:

Sub SchließenDatei2()
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

oder so:

Sub SchließenDatei3()
ActiveWorkbook.Close SaveChanges:=True
End Sub

Nach dem Close-Befehl wird zusätzlich die Anweisung gegeben, dass die Speicherung von Veränderungen vorgenommen wird.

Schließen einer zusätzlich geöffneten Datei

Wie im Beitrag „VBA_Methoden: Eine Datei öffnen“ erläutert, hast du z.B. eine weitere Datei manuell oder mit einem Makro geöffnet. Du hast deine Bearbeitungen vorgenommen und willst die Datei nun über dein Makro wieder schließen. Eine Speicherung siehst du ebenfalls vor.

Sub SchließenDatei4()
Workbooks(„VBA_Datenblatt.xlsx“).Save
Workbooks(„VBA_Datenblatt.xlsx“).Close
End Sub

oder so:

Sub SchließenDatei5()
Workbooks(„VBA_Datenblatt.xlsx“).Close SaveChanges:=True
End Sub

Öffnen, Bearbeiten, Speichern und Schließen einer zusätzlichen Datei

Jetzt willst du die Vorgänge vom Öffnen bis zum Schließen einer zusätzlichen Datei mit einem Makro ausführen lassen.

Im Arbeitsblatt „Tabelle1“ der Zusatzdatei soll in Zelle B10 der Text „Bearbeitung ist erfolgt“ eingetragen werden. Die Bearbeitung wird mit einer MsgBox bestätigt.

Sub SchließenDatei6()
Workbooks.Open Filename:=“C:\Excel\VBA_Datenblatt.xlsx“
Worksheets(„Tabelle1“).Range(„B10″)=“Bearbeitung ist erfolgt“
MsgBox(„Eintrag erfolgt“)
Workbooks(„VBA_Datenblatt.xlsx“).Save
Workbooks(„VBA_Datenblatt.xlsx“).Close
End Sub

Schließen einer Datei nach dem Speichern

Die Zusatzdatei soll sofort geschlossen werden, wenn gespeichert wurde.

Sub SchließenDatei7()
If Workbooks(„VBA_Datenblatt.xlsx“).Saved=True Then
Workbooks(„VBA_Datenblatt.xlsx“).Close
Else
MsgBox(„Datei ist nicht gespeichert“)
End If
End Sub

Wurde nicht gespeichert, kann in diesem Fall auch nicht geschlossen werden. Du erhälst deshalb die Mitteilung „Datei ist nicht gespeichert“ mittels einer MsgBox.


Entdecke mehr von Clevercalcul

Subscribe to get the latest posts sent to your email.

5 Gedanken zu „VBA-Methoden: Eine Datei schließen“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

WordPress Cookie Plugin von Real Cookie Banner