Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

2 Errorhandler möglich?
#1
Question 
hi,

ich habe gerade diese Errorhandler-Möglichkeit entdeckt: http://www.herber.de/mailing/vb/html/vastmonerror.htm

Bei diesem Code springt der Errorhandler aber erst gar nicht an:
Code:
Sub Errors()
On Error GoTo Errorhandler
Dim Dateiname As Stringz
Errorhandler:
MsgBox "Errorhandler"
End Sub

Und bei diesem Code(wo in A1 extra nichts steht, damit ein Error verusacht wird) springt er an. Jedoch stets nur Errorhandler2. Ich komme nie nach Errorhandler1:
Code:
Sub Errors2()
Dim Dateiname As String
On Error GoTo Errorhandler
Dateiname = Worksheets("Tabelle1").Range("A1").text
On Error GoTo Errorhandler2
Dateiname = Worksheets("Tabelle1").Range("A1").text
Errorhandler2:
MsgBox "Errorhandler2"
Exit Sub
Errorhandler:
MsgBox "Errorhandler"
Exit Sub
End Sub

Oder ist nur 1 Errorhandler möglich? Bezieht sich der Errorhandler immer auf die nächste Code-Zeile? Also wenn da ein Error passiert, dass dann der Errorhandler "anspringt"?

Die Datei mit dem Beispielcode:
.xlsm   #Errorhandler.xlsm (Größe: 48,69 KB / Downloads: 0)

lieben Dank

Julia :)
Antworten Top
#2
Hallo,

die Zuweisung einer leeren Zelle in eine String-Variable löst keinen Fehler aus, aber in einer Long-Variable knallst.

Code:
Sub Errors2()
Dim Dateiname As Long
On Error GoTo Errorhandler
Dateiname = Worksheets("Tabelle1").Range("A1").Text
On Error GoTo Errorhandler2
Dateiname = Worksheets("Tabelle1").Range("A1").Text
Errorhandler2:
MsgBox "Errorhandler2"
Exit Sub
Errorhandler:
MsgBox "Errorhandler"
Resume Next
'Exit Sub
End Sub

Peter Haserodt hat hier auch eine gute Erklärung zur Fehlerbehandlung geschrieben.
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • o0Julia0o
Antworten Top
#3
o.k., danke Steffl!

Was aber ist hier dran jetzt noch falsch? Warum gibt VBA beim 2. "Dateiname = Worksheets("Tabelle1").Range("A1").text" "Tpyen unverträglich" aus. Er sollte doch zu Errorhandler2 springen. Parallel zu dem "On Error GoTo mehrfach"-Beispiel: http://www.online-excel.de/excel/singsel_vba.php?f=145
Code:
Sub Errors2()
Dim Dateiname As Long
MsgBox "Vor Fehler 1"
On Error GoTo Errorhandler
Dateiname = Worksheets("Tabelle1").Range("A1").text
Exit Sub
Errorhandler:
MsgBox "Errorhandler " & vbCrLf & "Fehlernummer: " & Err.Number & _
    vbCrLf & "Fehlerbeschreibung: " & Err.Description
On Error GoTo Errorhandler2
Dateiname = Worksheets("Tabelle1").Range("A1").text
Exit Sub
Errorhandler2:
MsgBox "Errorhandler2" & vbCrLf & "Fehlernummer: " & Err.Number & _
    vbCrLf & "Fehlerbeschreibung: " & Err.Description
End Sub

Hier die Datei:
.xlsm   #Errorhandler.xlsm (Größe: 48,15 KB / Downloads: 2)

Julia :)
Antworten Top
#4
Hallo Julia,

ändere mal die Reihenfolge

Code:
Sub Errors2()
Dim Dateiname As Long
MsgBox "Vor Fehler 1"
On Error GoTo Errorhandler
Dateiname = Worksheets("Tabelle1").Range("A1").text
'Exit Sub
On Error GoTo Errorhandler2
Dateiname = Worksheets("Tabelle1").Range("A1").text
Exit Sub
Errorhandler:
MsgBox "Errorhandler " & vbCrLf & "Fehlernummer: " & Err.Number & _
    vbCrLf & "Fehlerbeschreibung: " & Err.Description

Resume Next

Errorhandler2:
MsgBox "Errorhandler2" & vbCrLf & "Fehlernummer: " & Err.Number & _
    vbCrLf & "Fehlerbeschreibung: " & Err.Description
End Sub
Gruß Stefan
Win 10 / Office 2016
[-] Folgende(r) 1 Nutzer sagt Danke an Steffl für diesen Beitrag:
  • o0Julia0o
Antworten Top
#5
Hallo,

ich wusste doch, dass Stefan etwas zum Lesen empfiehlt, zum Beispiel diese Seite: online-excel.de
Gruß Atilla
Antworten Top
#6
Hallo Atilla,

Das habe ich doch bereits getan. Schaue in meinen ersten Beitrag (nach dem Code).
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#7
Hallo Stefan,

sag ich doch. :19: 

Schau noch mal nach.
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste