Workbook ohne Speichern schließen in Excel VBA
Schritt-für-Schritt-Anleitung
Um ein Excel-Workbook in VBA zu schließen, ohne die Änderungen zu speichern, kannst Du den folgenden Code verwenden:
Private Sub CommandButton1_Click()
' Daten auf eine andere Datei übertragen
Application.Run "'Formular.xls'!Datenuebertragen"
' Workbook ohne speichern schließen
ThisWorkbook.Close False
End Sub
In diesem Beispiel wird das Workbook mit ThisWorkbook.Close False
geschlossen. Das False
signalisiert, dass Du keine Speicherung der Änderungen wünschst. Achte darauf, dass Du die richtige Referenz auf das Workbook verwendest.
Häufige Fehler und Lösungen
-
Fehler: Excel speichert Änderungen nicht
- Wenn Du versuchst, das Workbook mit
ThisWorkbook.Saved = True
zu schließen, wird es möglicherweise nicht wie gewünscht geschlossen. Stattdessen solltest Du ThisWorkbook.Close False
verwenden.
-
Fehler: Abfrage beim Schließen
- Wenn Du beim Schließen nach dem Speichern gefragt wirst, stelle sicher, dass Du den richtigen Parameter (
False
) beim Schließen verwendest.
Alternative Methoden
Eine alternative Methode, um ein Workbook ohne Speicherung zu schließen, wäre die Verwendung des ActiveWorkbook
:
ActiveWorkbook.Close False
Diese Methode hat den gleichen Effekt wie das Schließen des ThisWorkbook
, kann jedoch nützlich sein, wenn Du mit mehreren Workbooks arbeitest.
Praktische Beispiele
Hier sind einige Beispiele, wie Du ein Workbook ohne Speichern schließen kannst:
-
Schließen eines aktiven Workbooks:
Sub SchließenOhneSpeichern()
ActiveWorkbook.Close False
End Sub
-
Schließen einer bestimmten Datei:
Sub SchließeBestimmtesWorkbook()
Workbooks("DeineDatei.xlsx").Close False
End Sub
In diesen Beispielen wird das Workbook ohne Speicherung geschlossen, was in vielen Anwendungen, wie bei der Verwendung von Formularen, nützlich ist.
Tipps für Profis
-
Nutze Application.DisplayAlerts = False
vor dem Schließen, um alle Warnmeldungen zu unterdrücken. Vergiss nicht, es danach wieder auf True
zu setzen.
Application.DisplayAlerts = False
ThisWorkbook.Close False
Application.DisplayAlerts = True
-
Wenn Du mit Access-VBA arbeitest, kannst Du das gleiche Prinzip anwenden, um Formulare ohne Speicherung zu schließen.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass das Workbook geschlossen wird, ohne Änderungen zu speichern?
Verwende ThisWorkbook.Close False
, um sicherzustellen, dass beim Schließen keine Speichermeldung erscheint.
2. Was passiert, wenn ich True
anstelle von False
beim Schließen verwende?
Wenn Du True
verwendest, wirst Du gefragt, ob Du die Änderungen speichern möchtest, bevor das Workbook geschlossen wird.