Laufzeitfehler bei Abbrechen abfangen

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

Betrifft: Laufzeitfehler bei Abbrechen abfangen
von: P-Quest :-)
Geschrieben am: 20.07.2015 08:46:46

Hallo,
ich habe aktuell das Problem, dass ich beim klicken auf Abbrechen einer Inputbox eine Fehlermeldung "Laufzeitfehler 13 Typen unverträglich" erhalte.
Wie kann ich die Ausführung der SUB beenden und die Fehlermeldung unterdrücken?

Private Sub cmdJA_Click()
Dim lngJahr As Long
Do
lngJahr = InputBox(prompt:="Jahr eingeben:", Title:="Jahr")
    If val(lngJahr) > 2000 And Val(lngJahr) < Year(Date) And Val(lngJahr) <> 0 Then
        Exit Do
    Else
        MsgBox "Sie haben eine ungültige Jahreszahl eingegeben" & vbCrLf & "Geben Sie bitte  _
eine gültige Jahreszahl ein.", vbOKOnly
    End If
Loop
MsgBox lngJahr
End Sub

Gruß,
Peter

Bild

Betrifft: AW: Laufzeitfehler bei Abbrechen abfangen
von: Hajo_Zi
Geschrieben am: 20.07.2015 08:51:44
Hallo Peter,
lösche As Long


Bild

Betrifft: AW: Laufzeitfehler bei Abbrechen abfangen
von: P-Quest :-)
Geschrieben am: 20.07.2015 09:03:02
Danke, Hajo. Das hat schon mal geklappt. Ich habe meinen Code nun erweitert und bracuhe nochmal Hilfe.
Wenn ich auf Abbrechen in der Inputbox klicke, hänge ich in der Schleife fest. Es erscheint immer die MsgBox "Sie haben..."
Wie kann oder muss ich das klicken auf "Abbrechen" so abfangen, dass ich die Schleife verlassen kann?

Private Sub cmdJA_Click()
Dim lngJahr
Do
    lngJahr = Application.InputBox(prompt:="Für welches Geschäftsjahr soll der Abschluss  _
erstellt werden?" & vbCrLf _
    & "Geben Sie eine vierstellige Jahreszahl ein.", Title:="Geschäftsjahr eingeben:", Default:= _
Year(Date) - 1) ', Type:=1)
        
        If Val(lngJahr) > 2000 And Val(lngJahr) < Year(Date) And Val(lngJahr) <> 0 Then
            Exit Do
        Else
            MsgBox "Sie haben eine ungültige Jahreszahl eingegeben" & vbCrLf & "Geben Sie bitte  _
eine gültige Jahreszahl ein.", vbOKOnly
        End If
Loop
MsgBox lngJahr
'Call Abschl(lngJahr)
End Sub


Bild

Betrifft: AW: Laufzeitfehler bei Abbrechen abfangen
von: Hajo_Zi
Geschrieben am: 20.07.2015 09:08:31
prüfe ob Eingabe False
Gruß Hajo

Bild

Betrifft: AW: Laufzeitfehler bei Abbrechen abfangen
von: P-Quest :-)
Geschrieben am: 20.07.2015 09:57:59
Besten Dank, funktioniert!

Bild

Betrifft: Danke für Rückmeldung oT
von: Hajo_Zi
Geschrieben am: 20.07.2015 09:59:50


Bild

Betrifft: AW: Laufzeitfehler bei Abbrechen abfangen
von: Daniel
Geschrieben am: 20.07.2015 08:57:31
Hi

Private Sub cmdJA_Click()
Dim lngJahr As Long
Dim strJahr As String
Do
    strJahr = InputBox(prompt:="Jahr eingeben:", Title:="Jahr")
    If strJahr = "" Then Exit Sub 'Abbruch
    lngJahr = Val(strJahr)
    If lngJahr > 2000 And lngJahr < Year(Date) Then
        Exit Do
    Else
        MsgBox "Sie haben eine ungültige Jahreszahl eingegeben" & vbCrLf & _
            "Geben Sie bitte eine gültige Jahreszahl ein.", vbOKOnly
    End If
Loop
MsgBox lngJahr
End Sub
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Laufzeitfehler bei Abbrechen abfangen"