Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Error Handling für Userform

Error Handling für Userform
14.02.2007 13:34:00
Jens
hallo leute,
zum Thema Error Handling... Ich weiß, dass man das eigentlich auf Prozedurebene machen sollte...
Wenn ich nun aber trotzdem für eine Userform den Fehler an die aufrufende

Sub zurückgeben möchte - wie geht das? Ich hatte das folgender Maßen probiert:
Public 

Sub ShowUserform()
On Error GoTo ErrHandl
UF_MeineUserform.Show
EndHandl:
Unload UF_MeineUserform
Set ... = Nothing
Application.StatusBar = False
...etc.
Exit Sub
ErrHandl:
MsgBox sErrorDescription & sErrorNumber   ' vorher fixiert
Resume EndHandl
End Sub

Aber: Bei einem Fehler, der in der Userform auftritt, springt der Code nicht an die Stelle ErrHandl...
Gibt es eine Möglichkeit, der Userform das beizubringen?
Vielen Dank sagt
der Jens

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Error Handling für Userform
14.02.2007 14:17:00
Heiko
Hallo Jens,
nein keine Chance, Fehlerbehandlungen gehen nur innerhalb einer Sub oder einer Function.
Wenn du also im Userformaufruf z.B. das Userform.Activate ausführst mußt du dort wieder eine neue Fehlerbehandlung schreiben sonst geht es nicht !!!
Gruß Heiko
PS: Rückmeldung wäre nett !
AW: Error Handling für Userform
14.02.2007 15:38:33
Jens
ok, danke für die Auskunft.
Geht es dann in der Userform.Activate wenigstens für das gesamt Userform-Modul?
In einem normalen Modul kann ich die Fehlerbehandlung ja so machen, dass ich zumindest nicht in jeder kleinen Funktion eine eigene Fehlerbehandlung einbauen muss. Z.B. würde gehen:

Sub Test()
On Error GoTo ErrHandl
MsgBox MeineDivision(1, 0)
On Error GoTo 0
Exit Sub
ErrHandl:
MsgBox "Autsch!"
End Sub


Function MeineDivision(a As Integer, B as Integer) As Double
MeineDivision = a / b
End Function

Hier fängt ja das Errorhandling der aufrufenden Prozedur den Fehler auf, der in der Funktion auftritt. Also in einer Funktion, die von dieser Prozedur aufgerufen wurde...
Kann ich in einer ähnlichen Weise in der Userform.Activate o.ä. das Error Handling für einen Fehler schreiben, der irgendwo im Userform-Modul auftritt?
Ich warte nur mehr auf ein definitiven "Nein" ;-)
LG sagt
der Jens
Anzeige
AW: Error Handling für Userform
14.02.2007 16:57:39
Heiko
Hallo Jens,
das hängt davon ab wie dein Code aussieht.
Wenn du also im Userform.Activate ein Fehlerbehandlung schreibst und dann direkt daraus Unterprogramme aufrufst passiert das gleiche wie ein deinem Beispiel, die Fehlerbehandlung wird nach "unten" weitergereicht.
Wenn aber das Userform.Activate abgeschlossen ist und du dann über einen CommandButton oder sonst irgendwie ein neues Sub eine neue Funktion aufrufen willst, dann mußt du da wieder eine neue Fehlerbehandlung starten.
Denn mit Ende einer Sub bzw. Function (also mit End) wird auch die Fehlerbehandlung beendet.
Alles Klar ?!
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Error Handling für Userform
14.02.2007 19:12:00
Jens
ja genau so hatte ich es mir gedacht dass das funktioniert. danke für die klare formulierung!
lg sagt
der jens

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige