Excel Makro für alle Arbeitsmappen schließen
Schritt-für-Schritt-Anleitung
Um alle Arbeitsmappen und Excel über ein Makro zu schließen, kannst du den folgenden VBA-Code verwenden. Dieser Code stellt sicher, dass alle offenen Arbeitsmappen geschlossen werden, ohne dass eine Sicherheitsabfrage erscheint:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wkb As Workbook
For Each wkb In Workbooks
If Not wkb Is Me Then wkb.Close True
Next
Application.Quit
End Sub
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu starten.
- Wähle die Arbeitsmappe aus, in der du das Makro hinzufügen möchtest.
- Füge den obigen Code in das Codefenster des
ThisWorkbook-Objekts ein.
- Schließe den VBA-Editor und speichere die Arbeitsmappe als
xlsm, um die Makros zu aktivieren.
Jetzt wird beim Schließen der Arbeitsmappe automatisch Excel und alle offenen Arbeitsmappen geschlossen.
Häufige Fehler und Lösungen
Alternative Methoden
Falls du eine andere Methode bevorzugst, um Excel zu schließen, kannst du den folgenden Code verwenden:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.DisplayAlerts = False
.Quit
End With
End Sub
Dieser Code schließt Excel sofort, ohne Rückfragen und ohne die Arbeitsmappen einzeln zu schließen.
Praktische Beispiele
Hier sind einige praktische Beispiele, wie du das Makro anpassen kannst:
- Automatisches Speichern vor dem Schließen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wkb As Workbook
For Each wkb In Workbooks
If Not wkb Is Me Then wkb.Close True
Next
Application.DisplayAlerts = False
Application.Quit
End Sub
- Nur bestimmte Arbeitsmappen schließen:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim wkb As Workbook
For Each wkb In Workbooks
If wkb.Name Like "*.xlsm" Then wkb.Close True
Next
Application.Quit
End Sub
Tipps für Profis
- Nutze die
Workbook_BeforeClose-Ereignisprozedur, um spezifische Aktionen auszuführen, bevor die Arbeitsmappe geschlossen wird.
- Teste dein Makro immer in einer Kopie deiner Arbeitsmappe, um ungewollte Datenverluste zu vermeiden.
- Dokumentiere deinen Code ausreichend, damit du später genau weißt, was jeder Teil des Codes bewirken soll.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass alle Arbeitsmappen gespeichert werden, bevor ich Excel schließe?
Du kannst den Parameter True in der Close-Methode nutzen, um alle Änderungen automatisch zu speichern.
2. Was passiert, wenn ich das Makro nicht in einer xlsm-Datei speichere?
Das Makro wird nicht ausgeführt, da die xlsm-Datei notwendig ist, um VBA-Makros zu speichern und auszuführen.
3. Kann ich das Makro für bestimmte Arbeitsmappen anpassen?
Ja, du kannst Bedingungen einfügen, um nur bestimmte Arbeitsmappen zu schließen, indem du die Namen oder die Dateitypen überprüfst.