Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1264to1268
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wenn abbrechen mit ESC, dann Code durchlaufen

Wenn abbrechen mit ESC, dann Code durchlaufen
Peter
Guten Tag
Wie kann ich sicherstellen, dass bei Abbruch eines VBA Codes durch drücken von ESC ein bestimmter Code abläuft?
Wenn ich beispielsweise am Anfang das Berechnen ausschalte und dies am Ende des Codes wieder eingeschaltet wird, sollte bei einem Abbruch mittels VBA das Berechnen ebenfalls wieder eingeschaltet werden.
Gruss, Peter
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 11:06:25
xr8k2
Hallo Peter,
mit einem
Application.EnableCancelKey = xlErrorHandler
leitest du einen Programmabbruch (z.B. mit ESC) an eine Fehlerbehandlungsroutine. In dieser könntest du dann die aut. Berechnung wieder einschalten.
Gruß,
xr8k2
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 13:35:23
Peter
Hallo
Ich scheine das noch nicht ganz verstanden zu haben:
Mein Code
Sub Daten_uebernehmen()
On Error GoTo FERTIG
Application.EnableCancelKey = xlErrorHandler
Call DisableAllCalculations
Call Daten
FERTIG:
Call EnableAllCalculations
Application.EnableCancelKey = xlInterrupt
End Sub
Wenn ich den Code mit ESC abbreche, muss Call EnableAllCalculations ausgeführt werden. Scheint jedoch hier noch nicht der Fall zu sein.
Zusatzfrage: macht es einen Unterschied, wenn ich mit ESC abbreche und dann auf Debuggen gehe?
Gruss, Peter
Anzeige
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 14:10:54
xr8k2
Hallo Peter,
genauso wie du den Code schreibst müsste er auch funktionieren ... zumindest kenn ich´s so und er tut´s in meinem Excel 2003. Ob´s sich hier die Funktionalität im Excel2010 geändert hat vermag ich leider nicht zu sagen.
Teste mal:
Sub EndlosSchleife()
Application.EnableCancelKey = xlErrorHandler
On Error GoTo FERTIG
Do
Loop
FERTIG:
MsgBox "Endlosschleife abgebrochen!"
Application.EnableCancelKey = xlInterrupt
End Sub
Gruß,
xr8k2
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 14:19:21
Peter
Hallo
Danke für die Antwort.
ich habe in der Zwischenzeit noch etwas im www gestöbert. So wie ich sehe, ist der Code richtig. Das Problem ist aber, dass ich aus meinem Code verschiedene Subs aufrufe und dass ich wahrscheinlich in jedem dieser Subs (egal ob sie im gleichen Modul enthalten sind oder nicht), diese Fehlerbehandlungsprozedur auch einfügen müsste.
Ich lasse meinen Thread mal offen und hoffe, dass mir jemand diese Feststellung bestätigen oder aber modifizieren kann.
Gruss, Peter
Anzeige
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 14:37:44
Rudi
Hallo,
andere On Error-Anweisungen in den Prozeduren? Dann gelten die.
Gruß
Rudi
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 14:39:29
Peter
Hallo Rudi
Nein, bisher nicht andere, sondern keine.
Ich nehme daher an, dass ich in jeder einzelnen Prozedur diese Anweisungen erfassen muss, oder ist das nicht korrekt?
Gruss, Peter
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 14:58:25
Rudi
Hallo,
nein, musst du nicht.
Sowas geht:
Dim s
Sub aaa()
On Error GoTo xxxx
Application.EnableCancelKey = xlErrorHandler
bbb
xxxx:
If Err.Number = 18 Then MsgBox "Abbruch in " & s
End Sub
Sub bbb()
Dim y
Do
y = 0
s = "bbb"
Do While y 

Gruß
Rudi
Anzeige
AW: Wenn abbrechen mit ESC, dann Code durchlaufen
21.05.2012 15:25:48
Peter
Hallo Rudi
Danke. Dann muss ich nochmals forschen, wo es bei mir happert.
Gruss, Peter

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige