ich habe ein Programm erstellt, bei dem es einen Abbruch-Button geben soll. Wenn dieser gedrückt wird, soll das Programm sofort komplett beendet werden (ohne Abfage, ob gespeichert werden soll). Wie kann ich das machen?
m.f.g.
volleybaerchen
Sub speichern()
antwort = MsgBox("Speichern?", vbYesNoCancel)
If antwort = 6 Then
ThisWorkbook.Save
Application.Quit
ElseIf antwort = 7 Then
ThisWorkbook.Saved = True
Application.Quit
ElseIf antwort = 2 Then
End If
End Sub
Sub Beenden()
Dim wb As Workbook
For Each wb In Application.Workbooks
wb.Saved = True
Next
Application.Quit
End Sub
Um ein Excel-Programm mit VBA sofort zu beenden, kannst Du den folgenden Befehl verwenden:
Application.Quit
Dies wird Excel schließen, ohne eine Abfrage anzuzeigen, ob gespeichert werden soll. Um dies in einem Makro zu implementieren, kannst Du den Code wie folgt strukturieren:
Sub ProgrammBeenden()
ThisWorkbook.Saved = True
Application.Quit
End Sub
Mit ThisWorkbook.Saved = True
wird Excel angewiesen, dass die Datei als gespeichert betrachtet wird, sodass keine Abfrage erscheint.
Ein häufiger Fehler beim Beenden eines Excel-Programms mit VBA ist die Fehlermeldung, wenn SaveChanges:=False
verwendet wird. Um dies zu umgehen, stelle sicher, dass Du ThisWorkbook.Saved = True
vor Application.Quit
einfügst, um die Speichermeldung zu unterdrücken.
Fehler: Fehlermeldung bei SaveChanges:=False
.
Lösung: Verwende den Befehl ThisWorkbook.Saved = True
, um Excel vba beenden zu können, ohne eine Speichermeldung anzuzeigen.
Falls Du Excel komplett schließen möchtest, kannst Du auch eine Schleife verwenden, um alle offenen Arbeitsmappen zu schließen:
Sub AlleWbSchließen()
Dim wb As Workbook
For Each wb In Application.Workbooks
wb.Saved = True
Next
Application.Quit
End Sub
Diese Methode stellt sicher, dass alle offenen Arbeitsmappen als gespeichert betrachtet werden, bevor die Anwendung beendet wird.
Hier sind einige Beispiele, wie Du Dein Excel-Programm beenden kannst:
Einfaches Beenden ohne Abfrage:
Sub BeendenOhneAbfrage()
ThisWorkbook.Saved = True
Application.Quit
End Sub
Mit Benutzerabfrage zum Speichern:
Sub SpeichernUndBeenden()
Dim antwort As Integer
antwort = MsgBox("Möchten Sie die Änderungen speichern?", vbYesNoCancel)
If antwort = vbYes Then
ThisWorkbook.Save
Application.Quit
ElseIf antwort = vbNo Then
ThisWorkbook.Saved = True
Application.Quit
End If
End Sub
Beenden eines Makros:
Sub MakroBeenden()
' Hier können einige Aufgaben erledigt werden
Application.Quit
End Sub
On Error Resume Next
, um Fehler beim Schließen von Arbeitsmappen zu ignorieren, falls eine Arbeitsmappe bereits geschlossen ist.Application.Quit
beendest.1. Wie kann ich ein Excel-Makro beenden?
Um ein Excel-Makro zu beenden, kannst Du einfach Application.Quit
verwenden, um die gesamte Anwendung zu schließen.
2. Was passiert, wenn ich ThisWorkbook.Saved = False
setze?
Wenn Du ThisWorkbook.Saved = False
setzt, wird Excel fragen, ob Du speichern möchtest, bevor es geschlossen wird.
3. Gibt es eine Möglichkeit, Excel sofort zu schließen?
Ja, wenn Du ThisWorkbook.Saved = True
verwendest, wird Excel sofort geschlossen, ohne nachzufragen, ob Du die Änderungen speichern möchtest.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen