On Error in Schleife

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: On Error in Schleife
von: Dominic Lang
Geschrieben am: 22.07.2015 15:46:37

Hallo,
eigentlich dachte ich ich kenne mich in VBA aus nur die Fehlerbehandlung macht mir Weng zu schaffen. Ich habe eine For Schleife, wenn in dieser ein Fehler passiert soll der Interpreter aus der Schleife Springen dann per Loop wieder nach oben und die For Schleife erneut durchlaufen, beim ersten Durchlauf funktioniert dies auch noch nur bei dem 2. bekomme ich dennoch den ursprünglichen Fehler ausgegeben ohne das die For Schleife verlassen wird.
Kann mir hier jemand helfen?
hier ein Codebeispiel, im Richtigen Code kommt der Benutzer vor der For schleife in einen Dialog um dort werte zu ändern.

Sub test()
Dim i As Integer
Dim r As Range
On Error GoTo sprung
Do
For i = 1 To 32
    Set r = ThisWorkbook
Next
sprung:
Loop
End Sub

Bild

Betrifft: AW: On Error in Schleife
von: UweD
Geschrieben am: 22.07.2015 15:53:14
Hallo
Versuch mal, den Fehler erst wieder zurücksetzen.
Ich mach das so.
Fehler:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Gruß UweD

Bild

Betrifft: AW: On Error in Schleife
von: Dominic Lang
Geschrieben am: 22.07.2015 16:10:56
Hallo Uwe,
leider hat das nicht zum ziel geführt, erster Durchlauf Fehler landet in der msgbox und im zweiten Durchlauf kommt der Fehler wieder über Excel und der Code wird angehalten.

Sub test()
Dim i As Integer
Dim r As Range
On Error GoTo sprung
Do
For i = 1 To 32
    Set r = ThisWorkbook
Next
sprung:
If Err.Number <> 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Loop
End Sub


Bild

Betrifft: AW: On Error in Schleife
von: Nepumuk
Geschrieben am: 22.07.2015 16:25:30
Hallo,
du hast keine Fehlerbehandlung drin. So geht das:

Sub test()
    
    Dim i As Integer
    Dim r As Range
    
    
    On Error GoTo err_exit
    
    Do
        
        For i = 1 To 32
            
            Set r = ThisWorkbook
            
        Next
        
        sprung:
        
    Loop
    Exit Sub
    
    err_exit:
    
    Resume sprung
    
End Sub

Gruß
Nepumuk

Bild

Betrifft: AW: On Error in Schleife
von: Dominic Lang
Geschrieben am: 22.07.2015 16:31:41
Hallo Nepomuk,
vielen dank für die Info, jetzt läufts.
Endlosschleife rennt :D
Gruß Dominic

 Bild

Beiträge aus den Excel-Beispielen zum Thema "On Error in Schleife"