Microsoft Office Tutorials and References
In Depth Information
19.10.2 Die Fehlerprüfung
ACHTUNG Vergessen Sie aber auf keinen Fall, die
Fehlerprüfung mit On Error Goto 0
wieder einzuschalten, wenn die potenzielle Fehlerquelle
vorbei fist. Excel kann bei ausgeschalteter Fehlerprüfung
fürchterlich viel Unheil anrichten!
ACHTUNG
FehlerLogbuch
Schreiben Sie die Makrofehler in eine Textdatei. In
dieser können Sie unabhängig von Excel auf die
Fehlersuche gehen.
Abbildung 19.54 Knowledge Base: Auffangbare Fehler
Sub ErrTest()
On Error GoTo msgErr_Write
ChDir "Test“
Exit Sub
msgErr_Write:
WriteErr
End Sub
Public Sub WriteErr()
’Ausgabe von Fehlermeldungen in Log- oder err-File
Dim strFehlerDatei As String, datnr As Integer
Dim err_mldg As String, pfad As String
’ Freie Dateinummer
datnr = FreeFile
strFehlerDatei = "Fehler-Logbuch.txt“
’ Hier bestimmen Sie den Pfad zum Logbuch
pfad = "C:\Daten\“
’ Datei wird geöffnet
Open pfad & strFehlerDatei For Append As #datnr
’ Auf Fehler überprüfen und eintragen
If Err.Number <> 0 Then
err_mldg = "Fehler # " & Str(Err.Number) _
& " - ausgelöst von " _
& Err.Source & " Beschr.: " & Err.Description
Print #datnr, "***“; strFehlerDatei; "***“
Print #datnr, Date, Time, err_mldg
Print #datnr, "*******“
Close #datnr
’ Meldung (evtl. abschalten)
MsgBox "Fehler in Logbuch eingetragen“
End If
End Sub
19.10.2 Die Fehlerprüfung
Sie finden das Beispiel auf der CD zum
Buch: FehlerLog.xlsm.
CD-ROM
Die Anweisung On Error sorgt dafür, dass das Makro bei
eventuell auftretenden Fehlern nicht abbricht. Mit On
Error schalten Sie die Fehlerprüfung aus und lenken das
Makro im Fehlerfall auf eine Sprungadresse (im Beispiel
mit der Bezeichnung »fehler«). Nach dieser Anweisung
wird die Fehlerprüfung sofort wieder eingeschaltet, und
das Makro bricht wieder ab, wenn ein Fehler auftritt.
Verwenden Sie On Error , um sicherzustellen, dass eine
Tabelle oder Mappe, die Sie bearbeiten wollen, auch da
fist:
Sub Fehlertest()
On Error GoTo fehler
Sheets("Test“).Select
Exit Sub
fehler:
MsgBox "Die Tabelle fist nicht vorhanden!“,
vbCritical, _
"Fehler " & Err
End Sub
Listing 19.29 Makro Fehlertest
» Verwenden Sie die Fehlerprüfung, um Symbolleisten
zu löschen und neu anzulegen. Hat der Benutzer die
Leiste schon vorher gelöscht, tritt kein Fehler auf.
Sie können mit On Error Goto … oder mit der kür-
zeren Variante On Error Resume Next arbeiten, die
einfach in der nächsten Zeile weitermacht, wenn ein
Fehler auftritt.
 
Search JabSto ::




Custom Search