Mit "Err" habe ich lediglich die Laufzeitnummer, aber ich hätte gern auch den Befehl, um den Text auszulesen. (z.B. "Variabel darf nicht Null sein!", usw.)
Hat jemand ´n Tip?
Gruß Andre
Sub Err_Test()
On Error Resume Next
Error (400)
MsgBox _
Err.Number & vbNewLine & _
Err.Description & vbNewLine & _
Err.Source & vbNewLine & _
Err.LastDllError & vbNewLine & _
Err.HelpContext & vbNewLine & _
Err.HelpFile
End Sub
Um in Excel VBA Fehler auslesen zu können, nutzt Du das Err
-Objekt. Hier ist eine einfache Schritt-für-Schritt-Anleitung:
Fehlerbehandlung aktivieren: Stelle sicher, dass Du eine Fehlerbehandlung in Deinem VBA-Code verwendest. Das machst Du mit On Error Resume Next
.
On Error Resume Next
Einen Fehler erzeugen: Simuliere einen Fehler, um die Fehlerauslesung zu testen. Du kannst dies tun, indem Du eine ungültige Fehlernummer verwendest.
Error 400
Fehlerinformationen auslesen: Nutze die Eigenschaften des Err
-Objekts, um die Fehlernummer und die Fehlermeldung auszulesen.
If Err.Number <> 0 Then
MsgBox "Fehler # " & Err.Number & vbNewLine & _
"Beschreibung: " & Err.Description & vbNewLine & _
"Quelle: " & Err.Source
End If
Abschluss der Fehlerbehandlung: Setze die Fehlerbehandlung zurück, nachdem Du die Fehlerdetails ausgelesen hast.
On Error GoTo 0
Problem: Err.Number
gibt immer 0 zurück.
Problem: Fehlermeldung wird nicht angezeigt.
Eine alternative Methode, um Fehler in Excel VBA auszulesen, ist die Verwendung der Error
-Funktion. Diese gibt die Fehlermeldung zu einer spezifischen Fehlernummer zurück:
Dim Fehlernummer As Integer
Fehlernummer = Err.Number
MsgBox Error(Fehlernummer)
Diese Methode ist besonders nützlich, wenn Du eine spezifische Fehlermeldung für bereits bekannte Fehlercodes auslesen möchtest.
Hier sind einige praktische Beispiele, wie Du Fehler auslesen kannst:
Einfacher Fehlerauslese-Code:
Sub FehlerAuslesen()
On Error Resume Next
Error 400 ' Simuliere einen Fehler
If Err.Number <> 0 Then
MsgBox "Fehler # " & Err.Number & ": " & Err.Description
End If
On Error GoTo 0
End Sub
Erweiterter Fehlerauslese-Code:
Sub ErweiterteFehlerauslesung()
On Error Resume Next
Error 400 ' Simuliere einen Fehler
If Err.Number <> 0 Then
Debug.Print "Fehlernummer: " & Err.Number
Debug.Print "Fehlerbeschreibung: " & Err.Description
Debug.Print "Fehlerquelle: " & Err.Source
End If
On Error GoTo 0
End Sub
Err.LastDllError
, um spezifische Fehler aus DLLs auszulesen, was besonders hilfreich bei Windows 11 ist.HelpContext
- und HelpFile
-Eigenschaften, um Benutzern weiterführende Informationen zu geben.1. Wie kann ich die Fehlernummer in Excel VBA auslesen?
Du kannst die Fehlernummer mit Err.Number
auslesen. Stelle sicher, dass ein Fehler aufgetreten ist, bevor Du diese Eigenschaft abfragst.
2. Was mache ich, wenn ich eine spezifische Fehlermeldung benötige?
Verwende die Error
-Funktion, um die Fehlermeldung für eine spezifische Fehlernummer zu erhalten. Du kannst auch Err.Description
verwenden, um die Beschreibung des zuletzt aufgetretenen Fehlers abzurufen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen