ActiveWorkbook.Close ohne Speichern
Schritt-für-Schritt-Anleitung
Um ein Excel-Dokument mit VBA zu schließen, ohne die Änderungen zu speichern, kannst du den Befehl ActiveWorkbook.Close
verwenden. Hier sind die Schritte:
-
Öffne den Visual Basic for Applications (VBA) Editor in Excel (drücke ALT + F11
).
-
Füge ein neues Modul hinzu (Rechtsklick auf "VBAProject", dann "Einfügen" > "Modul").
-
Schreibe den folgenden VBA-Code:
Sub SchließeAktivesWorkbookOhneSpeichern()
ActiveWorkbook.Saved = True ' Setze den Status als gespeichert
ActiveWorkbook.Close ' Schließe das aktive Workbook
End Sub
-
Wenn du das Workbook schließen möchtest, ohne zu speichern, kannst du auch direkt ActiveWorkbook.Close False
verwenden, also:
Sub SchließeAktivesWorkbookOhneSpeichern2()
ActiveWorkbook.Close False ' Schließe ohne zu speichern
End Sub
-
Führe das Makro aus, um das aktive Workbook zu schließen.
Häufige Fehler und Lösungen
Alternative Methoden
Wenn du das aktive Workbook ohne Speichern schließen möchtest, kannst du auch die DisplayAlerts
-Eigenschaft nutzen:
Sub SchließeAktivesWorkbookOhneSpeichern3()
Application.DisplayAlerts = False ' Deaktiviere Bestätigungsdialoge
ActiveWorkbook.Close False ' Schließe ohne zu speichern
Application.DisplayAlerts = True ' Aktiviere Bestätigungsdialoge wieder
End Sub
Praktische Beispiele
Hier sind einige Beispiele, wie du ActiveWorkbook.Close
in verschiedenen Szenarien verwenden kannst:
-
Schließen mit Speichern:
Sub SchließeAktivesWorkbookMitSpeichern()
ActiveWorkbook.Close True ' Schließt und speichert alle Änderungen
End Sub
-
Schließen ohne Speichern:
Sub SchließeAktivesWorkbookOhneSpeichernBeispiel()
ActiveWorkbook.Close False ' Schließt ohne zu speichern
End Sub
Diese Beispiele zeigen, wie flexibel der Befehl ist, je nach dem, ob du speichern möchtest oder nicht.
Tipps für Profis
- Nutze
ThisWorkbook.Close
anstelle von ActiveWorkbook.Close
, wenn du sicherstellen möchtest, dass das aktuelle Workbook geschlossen wird, unabhängig davon, welches Workbook aktiv ist.
- Füge eine Fehlerbehandlung hinzu, um sicherzustellen, dass dein Code auch bei unerwarteten Fehlern stabil bleibt.
Sub SicheresSchließen()
On Error GoTo Fehlerbehandlung
Application.DisplayAlerts = False
ThisWorkbook.Close False
Exit Sub
Fehlerbehandlung:
MsgBox "Ein Fehler ist aufgetreten: " & Err.Description
Application.DisplayAlerts = True
End Sub
FAQ: Häufige Fragen
1. Wie kann ich das aktuelle Workbook schließen, ohne Änderungen zu speichern?
Du kannst den Befehl ActiveWorkbook.Close False
verwenden, um das aktive Workbook ohne Speichern zu schließen.
2. Was passiert, wenn ich ActiveWorkbook.Saved = True
vor dem Schließen setze?
Das setzt den Status des Workbooks auf "gespeichert", wodurch die Nachfrage zum Speichern der Änderungen unterdrückt wird.
3. Wo finde ich den VBA-Editor in Excel?
Du kannst den VBA-Editor öffnen, indem du ALT + F11
drückst.