Herbers Excel-Forum - das Archiv

Code richtig beenden

Bild

Betrifft: Code richtig beenden
von: Stefan

Geschrieben am: 24.02.2005 10:43:12
Hallo,
nur mal eine Frage bzgl. des Stils...
Wenn ich Aufgrund eines Fehlers Excel schließen will dann sag ich einfach:
Application.Quit
Exit Sub
wenn ich jetzt die Ausführung des Codes aufgrund eines Fehlers "nur" beenden will, dann sag ich
End
Gibt es (außer Formulare mit Unload zu entladen) keine "schönere" Form als die Verarbeitung so "hart" einfach zu beenden? sowas wie alles entladen (Vars usw.) und dann erst schließen?
Finde da nicht wirklich was dazu...
Stefan
Bild

Betrifft: AW: Code richtig beenden
von: Nike

Geschrieben am: 24.02.2005 10:53:15
Hi,
faellt unter das Thema Fehlerbehandlung
bzw On Error daszu sollte sich im Archiv einiges finden lassen,
mal ein blanker Aufbau:
Sub tralala()
dim variablen as Typen...
'Fehlerbehandlung ein:
On Error goto ErrEnd
'code
'Fehlerbehandlung aus:
On Error goto 0
'noch mehr code
Ende:
dim variablen as Nothing
Exit sub
ErrEnd:
err.clear
goto Ende
End Sub

Bye
Nike
Bild

Betrifft: AW: Code richtig beenden
von: Stefan

Geschrieben am: 24.02.2005 11:03:33
Hi,
ja, klar... Mir gehts jetzt aber nicht um Fehlerbehandlung an sich sondern unabhängig davon. Ein Fehlerfall diente mir jetzt nur als Beispiel. Der Umgang mit ErrorHandlern ist mir geläufig.
Aber mal angenommen, ich springe in den ErrorHandler, behandel den Fehler entsprechend und will dann die Codeverarbeitung beenden.
Soll ich dann, um das Programm sauber zu beenden, alle Variablen auf Nothing setzen? Wenn ich eine Application (z.b. Outlook o.ä.) im Hintergrund geöffnet hab, dass ich die explizit zurück setzen sollte ist mir klar, aber alle definierten Variablen?
Oder regelt das Excel/VBA selbst?
Danke!
Stefan
Bild

Betrifft: AW: Code richtig beenden
von: Josef Ehrensberger

Geschrieben am: 24.02.2005 11:11:15
Hallo Stefan!
Bei Object-Variablen ist es ratsam, das man sie auf "Nothing" zurücksetzt!
Bei "normalen" Variablen innerhalb der Prozedur, ist es nicht notwendig,
weil sie beim Beenden des Codes sowieso ihren Wert verlieren!

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
 Bild
Excel-Beispiele zum Thema "Code richtig beenden"
Alle Arbeitsmappen schließen bzw. Excel beenden Windows beenden
Makro mit Excape-Taste ohne Fehlermeldung beenden Arbeitsmappe öffnen und nach Beenden des Mausklicks schließen
Notepad aufrufen und Routine nach Beenden fortsetzen