Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Fehlercode VBA automatisch anzeigen

Forumthread: Fehlercode VBA automatisch anzeigen

Fehlercode VBA automatisch anzeigen
07.04.2005 14:21:14
Marcel
Hallo ich hab noch eine Frage zu den Fehlernummern.
gibt es eine Möglichkeit einen Code in eine Prozedur einzubauen der die Fehlernummer ausgibt falls ein Fehler Auftritt?
Ich hab in der VBA hilfe folgendes Beispiel gefunden so ungefähr meine ich das, halt nur das ein nicht erzeugt sondern der aufgetretene Fehler angezeigt wird?

Private Sub Fehlernummer_anzeigen()
Dim Mldg
' Bei Auftreten eines Fehlers Fehlermeldung erstellen
On Error Resume Next    ' Fehlerbehandlung zurückstellen.
Err.Clear
Err.Raise 6    ' Überlauffehler" auslösen.
If Err.Number <> 0 Then
Mldg = "Fehler # " & Str(Err.Number) & " wurde ausgelöst von " _
& Err.Source & Chr(13) & Err.Description
MsgBox Mldg, , "Fehler", Err.HelpFile, Err.HelpContext
End If
End Sub

Gruss
Matcel
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlercode VBA automatisch anzeigen
07.04.2005 20:50:50
Luc
Hallo Marcel,
das geht natürlich auch und steht ebenfalls in der Hilfe. Statt onError resume next muss es dann onError goto marke heißen. Die Marke leitet dann als letzten Block deines Programms die Fehlerbehandlung ein (also bei normalem Ablauf Pgm vorher mit exit verlassen). In diesem Block kannst du dann mit msgbox err.description, vbOKonly, "Fehler "& err.number Fehlernummer (im BoxTitel) und -beschreibung ausgeben. Es ist natürlich auch möglich, beides in der aktiven Zelle auszugeben.
Gruß Luc :-?
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Fehlercode VBA automatisch anzeigen


Schritt-für-Schritt-Anleitung

Um in Excel VBA eine Fehlermeldung auszugeben und die Fehlernummer anzuzeigen, kannst du folgende Schritte befolgen:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (ALT + F11).

  2. Füge ein neues Modul hinzu, indem du mit der rechten Maustaste auf „VBAProject“ klickst, dann „Einfügen“ und „Modul“ wählst.

  3. Kopiere den nachfolgenden Code in das Modul:

    Private Sub Fehlernummer_anzeigen()
       Dim Mldg As String
       ' Fehlerbehandlung aktivieren
       On Error GoTo Fehlerbehandlung
    
       ' Hier kommt dein Hauptcode hin
       Err.Raise 6    ' Überlauffehler auslösen (Beispiel)
    
       Exit Sub
    
    Fehlerbehandlung:
       Mldg = "Fehler # " & Err.Number & " wurde ausgelöst von " & Err.Source & vbCrLf & Err.Description
       MsgBox Mldg, vbOKOnly, "Fehler", Err.HelpFile, Err.HelpContext
    End Sub
  4. Führe die Subroutine Fehlernummer_anzeigen aus, um zu sehen, wie die Fehlermeldung angezeigt wird.


Häufige Fehler und Lösungen

  • Fehler: „Sub oder Function nicht gefunden“

    • Überprüfe, ob der Name der Subroutine korrekt ist und ob du sie korrekt aufrufst.
  • Fehler wird nicht angezeigt

    • Stelle sicher, dass On Error GoTo Fehlerbehandlung vor dem Auslösen eines Fehlers steht.
  • Leere Fehlermeldungen

    • Achte darauf, dass die Variablen korrekt gefüllt sind und die Fehlernummer auch einen gültigen Wert hat.

Alternative Methoden

Eine Alternative zur Fehlerbehandlung ist die Verwendung von On Error Resume Next. Diese Methode überspringt Fehler, aber du kannst sie anschließend mit If Err.Number <> 0 Then überprüfen. Hier ein Beispiel:

Sub FehlerBehandlungMitResumeNext()
    On Error Resume Next
    ' Dein Code hier
    Err.Raise 6    ' Beispiel für einen Fehler
    If Err.Number <> 0 Then
        MsgBox "Fehler # " & Err.Number & ": " & Err.Description
    End If
    On Error GoTo 0  ' Fehlerbehandlung zurücksetzen
End Sub

Praktische Beispiele

Hier sind einige nützliche Beispiele für die Verwendung von Fehlerbehandlung in VBA:

  • Zahlen Division:
Sub Division()
    Dim a As Integer
    Dim b As Integer
    Dim c As Double

    a = 10
    b = 0  ' Beispiel für Division durch Null
    On Error GoTo Fehlerbehandlung
    c = a / b
    Exit Sub

Fehlerbehandlung:
    MsgBox "Fehler # " & Err.Number & ": Division durch Null ist nicht erlaubt."
End Sub
  • Dateizugriff:
Sub DateiZugriff()
    On Error GoTo Fehlerbehandlung
    Open "C:\falscherPfad.txt" For Input As #1
    Exit Sub

Fehlerbehandlung:
    MsgBox "Fehler # " & Err.Number & ": " & Err.Description
End Sub

Tipps für Profis

  • Nutze Err.Description, um detaillierte Informationen über den Fehler zu erhalten.
  • Implementiere eine zentrale Fehlerbehandlung, um redundanten Code zu vermeiden.
  • Halte die Fehlermeldungen benutzerfreundlich und informativ, um die Fehlerdiagnose zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich verschiedene Fehlercodes in VBA abfangen?
Du kannst mehrere If-Abfragen verwenden, um unterschiedliche Fehlernummern zu behandeln. Alternativ kannst du auch einen Select Case-Block nutzen.

2. Was ist der Unterschied zwischen On Error Resume Next und On Error GoTo?
On Error Resume Next überspringt Fehler und fährt mit dem nächsten Befehl fort, während On Error GoTo eine spezifische Fehlerbehandlungsroutine aufruft.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige