Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Programm mit VBA beenden

Programm mit VBA beenden
23.12.2005 21:41:01
volleybaerchen
Hallo,
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
Anzeige

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Programm mit VBA beenden
23.12.2005 21:44:17
Rocky
Hallo,
wenn die Datei gleich geschlossen werden soll dann so
Workbooks("BOOK1.XLS").Close SaveChanges:=False
Gruß Rocky
AW: Programm mit VBA beenden
23.12.2005 21:52:00
volleybaerchen
Hallo Rocky,
vielen Dank für deinen Tip - es ist auch fast schon das, was ich suche.
Ich hatte nicht erwähnt, dass nicht nur die Datei, sonder Excel komplett beendet werden soll. Kann ich das auch irgendwie mit VBA erreichen?
m.f.g.
volleybaerchen
Anzeige
AW: Programm mit VBA beenden
23.12.2005 21:57:43
Rocky
Oh,
da hab ich keine Ahnung.
Die Frage ist welches Macro soll laufen wenn die Datei beendet ist.
d.h. wie soll die Prozedur zu End Sub gelangen wenn das Programm gar nich mahr läuft.
Doch auch ich lern nie aus.
Gruß Rocky
AW: Programm mit VBA beenden
23.12.2005 22:03:17
volleybaerchen
Schade,
trotzdem vielen Dank für den Versuch, mir zu helfen.
m.f.g.
volleybaerchen
Anzeige
AW: Programm mit VBA beenden
23.12.2005 22:06:44
HansH
Hallo Rocky,
und wie wärs mit
Application.Quit
?
Gruß
Hans
AW: Programm mit VBA beenden
23.12.2005 22:08:11
HansH
entschuldigung, meine Volleybaerchen
AW: Programm mit VBA beenden
23.12.2005 22:11:33
Rocky
Oh gott Asche auf mein Haupt.
Anzeige
AW: @Rocky
23.12.2005 22:55:11
HansH
Hallo Rocky,
nimms nicht tragisch. Ich bin bescheiden, habe ja nur schnell über Recherche eine Lösung gesucht und gefunden. Das kommt bei mir auch nicht alles aus dem FF. Selbst numéro un inconnu, dem ich zutraue alles im Kopf zu haben war nicht der Blitz.
Gruß
Hans
AW: Programm mit VBA beenden
23.12.2005 22:15:50
volleybaerchen
Hallo Hans,
vielen Dank für deine Hilfe. Damit wird zwar noch abgefragt, ob gespeichert werden soll (mit SaveChanges:=False dahinter bekam ich eine Fehlermeldung), aber es beendet wenigstens Excel.
m.f.g.
volleybaerchen
Anzeige
AW: Programm mit VBA beenden
23.12.2005 22:27:20
HansH
Hallo Volleybaerchen,
vielleicht hiermit?
ThisWorkbook.Saved = True
Gruß
Hans
AW: Programm mit VBA beenden
24.12.2005 05:11:02
volleybaerchen
Hallo Hans,
ja, so geht es. Vielen Dank!
m.f.g.
volleybaerchen
AW: Programm mit VBA beenden
23.12.2005 22:08:05
Unbekannter
So.
Application.quit
Gruß UN1
Anzeige
AW: Programm mit VBA beenden
23.12.2005 22:17:47
volleybaerchen
Hallo UN1,
vielen Dank für deine Hilfe. Damit wird zwar noch abgefragt, ob gespeichert werden soll (mit SaveChanges:=False dahinter bekam ich eine Fehlermeldung), aber es beendet wenigstens Excel.
m.f.g.
volleybaerchen
m.f.g.
volleybaerchen
AW: Programm mit VBA beenden
23.12.2005 22:27:05
Unbekannter
OK?

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

Gruß UN1
Anzeige
AW: Programm mit VBA beenden
24.12.2005 05:09:15
volleybaerchen
Hallo UN1,
vielen Dank für deinen Tipp. Da Excel ja ohne Abfrage beendet werden soll, habe ich nur den Befehl ThisWorkbook.Saved = True bei mir eingefügt, und so funktioniert es.
m.f.g.
volleybaerchen
AW: Programm mit VBA beenden
23.12.2005 22:28:12
Kurt
Hi,
Option Explicit

Sub Beenden()
Dim wb As Workbook
For Each wb In Application.Workbooks
wb.Saved = True
Next
Application.Quit
End Sub

mfg Kurt
Anzeige
AW: Programm mit VBA beenden
24.12.2005 05:13:22
volleybaerchen
Hallo Kurt,
mit ThisWorkbook.Saved = True funktioniert es. Vielen Dank.
m.f.g.
volleybaerchen
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Excel VBA: Programm sofort beenden


Schritt-für-Schritt-Anleitung

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.


Häufige Fehler und Lösungen

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.


Alternative Methoden

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.


Praktische Beispiele

Hier sind einige Beispiele, wie Du Dein Excel-Programm beenden kannst:

  1. Einfaches Beenden ohne Abfrage:

    Sub BeendenOhneAbfrage()
       ThisWorkbook.Saved = True
       Application.Quit
    End Sub
  2. 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
  3. Beenden eines Makros:

    Sub MakroBeenden()
       ' Hier können einige Aufgaben erledigt werden
       Application.Quit
    End Sub

Tipps für Profis

  • Verwende On Error Resume Next, um Fehler beim Schließen von Arbeitsmappen zu ignorieren, falls eine Arbeitsmappe bereits geschlossen ist.
  • Achte darauf, dass Du immer sicherstellst, dass die Daten nicht verloren gehen, bevor Du ein Excel-Programm mit Application.Quit beendest.
  • Halte den Code modular, indem Du die Beendigung in eine separate Funktion auslagerst, die von anderen Makros aufgerufen werden kann.

FAQ: Häufige Fragen

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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige