Workbook ohne Rückfrage schließen
Schritt-für-Schritt-Anleitung
Um deine Excel-Arbeitsmappe zu schließen, ohne eine Rückfrage zu erhalten, kannst du folgenden VBA-Code verwenden. Dieser Code speichert die Datei unter einem vorgegebenen Namen und schließt sowohl die Arbeitsmappe als auch die Excel-Anwendung, wenn eine bestimmte Bedingung erfüllt ist.
- Öffne Excel und drücke
ALT + F11, um den VBA-Editor zu öffnen.
- Füge in das richtige Modul den folgenden Code ein:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
If Worksheets("Tabelle1").Range("N3").Value = 1 Then
ThisWorkbook.SaveAs Filename:="C:\Test001.xls"
Application.Quit
End If
Application.DisplayAlerts = True
End Sub
- Schließe den VBA-Editor und teste den Code, indem du die Arbeitsmappe schließt.
Häufige Fehler und Lösungen
-
Fehler: Excel bleibt geöffnet, nachdem die Arbeitsmappe geschlossen wurde.
- Lösung: Stelle sicher, dass
Application.Quit im Code enthalten ist und dass keine weiteren offenen Arbeitsmappen vorhanden sind.
-
Fehler: Rückfragen erscheinen beim Schließen.
- Lösung: Achte darauf, dass
Application.DisplayAlerts = False gesetzt ist, bevor du die Arbeitsmappe schließt.
Alternative Methoden
Eine alternative Methode, um eine Arbeitsmappe ohne Rückfragen zu schließen, ist die Verwendung einer separaten Subroutine:
Sub Auto_Close()
If Application.Workbooks.Count = 1 Then
ActiveWorkbook.Save
ActiveWorkbook.Close
Application.Quit
Else
ActiveWorkbook.Close
End If
End Sub
Diese Subroutine prüft, ob mehr als eine Arbeitsmappe geöffnet ist und schließt entsprechend.
Praktische Beispiele
Ein Beispiel für den Einsatz des Codes könnte sein, wenn du eine Datei mit bestimmten Daten automatisiert speichern und schließen möchtest. Wenn in Zelle N3 der Wert 1 steht, wird die Datei gespeichert und Excel wird geschlossen. Andernfalls bleibt Excel geöffnet.
Tipps für Profis
- Verwende
Application.DisplayAlerts = False, um die Benutzeroberfläche zu vereinfachen und Rückfragen zu vermeiden.
- Stelle sicher, dass der Pfad, unter dem die Datei gespeichert wird, existiert, um Laufzeitfehler zu vermeiden.
- Teste den Code gründlich, um sicherzustellen, dass er in verschiedenen Szenarien funktioniert, insbesondere wenn mehrere Arbeitsmappen geöffnet sind.
FAQ: Häufige Fragen
1. Kann ich den Code anpassen, um mehrere Dateien gleichzeitig zu schließen?
Ja, du kannst eine Schleife durch Workbooks verwenden, um mehrere Arbeitsmappen zu schließen, je nachdem, wie viele geöffnet sind.
2. Wie verhindere ich, dass Excel nach dem Speichern und Schließen erneut geöffnet wird?
Verwende Application.Quit im richtigen Kontext, um sicherzustellen, dass die Excel-Anwendung vollständig geschlossen wird.