AW: "<vorheriger" ?
26.01.2009 10:40:44
fcs
Hallo Born,
ein Fehler verschwindet ja nicht unbedingt dadurch, dass man 10 Sekunden wartet. Deshalb hilft ein Resume ja normalerweise nicht weiter, denn das Makro landet in einer Endlosschleife. Du müsstest also in den 10 Sekunden irgendetwas reparieren, so dass die Ausführung danach funktioniert.
Deshalb mein Vorschlag, eine Fehlermeldung, die dann manuell den Resume-Vorgang startet oder auch den Abbruch ermöglicht. Der Code wurde für Excel 2003 erstellt, dürfte aber auch in 2007 funktionieren.
Gruß
Franz
Sub Test()
'Hier Variablendeklarionen
Dim wks As Worksheet
'Aktion bei Fehler
On Error GoTo Fehler
'Ab hier dann die eigentlichen Anweisungen und Methoden
Set wks = Worksheets("TabelleXYZ") 'Beispiel --> Fehler 9 wenn Blatt fehlt
'usw.
'Fehlerbehandlung
Fehler:
With Err
If .Number 0 Then
Select Case .Number
Case 1004
'Fehler in Statuszeile anzeigen und nach Ja fortsetzen
If MsgBox("Fehler-Nr.: " & .Number & vbLf & .Description & vbLf & vbLf _
& "Ausführung fortsetzen?", vbYesNo + vbCritical, "Fehlermeldung") = vbYes Then
Resume
End If
Case Else
'Fehler anzeigen, dann Prozedur beenden
MsgBox "Fehler-Nr.: " & .Number & vbLf & .Description
End Select
End If
End With
End Sub