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

Fehler klassifizieren

Forumthread: Fehler klassifizieren

Fehler klassifizieren
25.02.2004 00:10:40
Martin Kaiser
Hallo Leute,
wenn ich in PHP ein Fehler auftritt, erhalte ich immer eine klassifizierte Fehlermeldung mit Angabe der CodeZeile, in der der Fehler verursacht wird.
Gibt es so etwas auch auf einfache Weise für VBA?
Danke und viele Grüße
Martin
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehler klassifizieren
25.02.2004 00:18:50
Bert
Nicht jeder Fehler ist für VBA eindeutig zu identifizieren. Für
die meisten Fehler kommt eine Fehlernummer und eine Fehlerbeschreibung.
Angabe der Zeilennummer aber nicht.
Bert
AW: Fehler klassifizieren
25.02.2004 08:13:26
Christoph Dümmen
Hallo Martin,
ich löse das Problem dadurch, dass ich nach abgearbeiteten Blöcken eine globale Variable fülle, welche bei Fehlern in der MsgBox angezeigt wird.
Das ist natürlich Zusatzarbeit aber in manchen Projekten angebracht.
Darüber hinaus lasse ich mir ggf. ein unsichtbares Log schreiben, welches mir beim Troubleshooting hilft.
Vielleichts hilft's
Christoph


Function LogWrite(ByVal strModul, ByVal strProcedure, ByVal strMessage, ByVal strStep)
'***Beschreibung*********************************************************************************************
' Ermittelt nächste freie Zelle im Logsheet und schreibt übergebene Meldungen in das Logsheet.
'***Historie*************************************************************************************************
' 11.02.2004: erstellt
'************************************************************************************************************
On Error GoTo Fehler
Dim As Integer
i = gshLog.Cells(Rows.Count, 1).End(xlUp).Row + 1
gshLog.Cells(i, 1) = gshLog.Cells(i, 1).Offset(-1, 0) + 1
gshLog.Cells(i, 2) = strModul
gshLog.Cells(i, 3) = strProcedure
gshLog.Cells(i, 4) = strMessage
gshLog.Cells(i, 5) = strStep
gshLog.Cells(i, 6) = Format(Now(), "dd/mm/yyyy hh:mm:ss")
Exit Function
Fehler:
    If Err.Number = 13 Then
        gshLog.Cells(i, 1) = 1
    End If
    Resume Next
End Function

     Code eingefügt mit Syntaxhighlighter 2.5



Sub LogCreate()
'***Beschreibung*********************************************************************************************
' Neues Blatt für Logdaten wird bereitgestellt
' und mit Vorgabewerten gefüllt. Via Prozedur 'LogWrite' wird der Log später Zeile
' für Zeile gefüllt
'***Historie*************************************************************************************************
' 2004-02-11: erstellt
'************************************************************************************************************
On Error Resume Next
Dim As Workbook
Dim As Range
Dim i
Set w = ActiveWorkbook
    Application.DisplayAlerts = False
    w.Worksheets(gstrcLogSheet).Delete                                             'löschen, falls vorhanden
    Application.DisplayAlerts = True
    Set gshLog = w.Worksheets.Add                                                   'Neues Logblatt
    gshLog.Move after:=w.Worksheets(w.Worksheets.Count)                             'an das Ende verschieben
    gshLog.Name = gstrcLogSheet                                                     'benennen
    
    With gshLog
        .Cells(1, 1) = gstrcAppName & ":"
        .Cells(1, 1).Font.Bold = True
        .Cells(2, 1) = "hfp Informationssysteme GmbH"
        .Cells(3, 1) = "Königsberger Straße 8"
        .Cells(4, 1) = "65779 Kelkheim"
        .Cells(5, 1) = "Tel : (06195) 9974 - 0"
        .Cells(6, 1) = "Fax : (06195) 9974 - 11"
        .Cells(7, 1) = "eMail: hfp@hfp.de"
        .Cells(9, 1) = "VBA-CodeVersion:"
        .Cells(9, 1).Font.Bold = True
        .Cells(10, 1) = "CodeLib:"
        .Cells(10, 2) = gstrcCodeLibVersion
        .Cells(11, 1) = "Modul:"
        .Cells(11, 2) = gstrcModule
        .Cells(14, 1) = "Reportparameter:"
        .Cells(14, 1).Font.Bold = True
    End With
Set gshData = w.Worksheets(gstrcDataSheet)
i = 1
Do While gshData.Cells(i, 1) <> ""
    gshData.Cells(i, 1).EntireRow.Copy
    gshLog.Cells(gshLog.Cells(Rows.Count, 1).End(xlUp).Row + 1, 1).PasteSpecial
    i = i + 1
Loop
Set r = gshLog.Cells(gshLog.Cells(Rows.Count, 1).End(xlUp).Row + 4, 1)
With r
    r.Offset(0, 0) = "ID:"
    r.Offset(0, 1) = "Modul:"
    r.Offset(0, 2) = "Prozedur:"
    r.Offset(0, 3) = "Aktion:"
    r.Offset(0, 4) = "Schritt:"
    r.Offset(0, 5) = "Zeit:"
    r.EntireRow.Font.Bold = True
End With
gshLog.Cells(1, 1).Select
w.Worksheets(gstrcDataSheet).Activate                                           'Reportblatt aktivieren, damit Activesheet funzt
gstrIndErrMsg = ""
gstrIndErrID = "0"
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Anzeige
AW: Fehler klassifizieren
29.02.2004 13:00:42
Martin
Hallo Christoph,
das funktioniert richtig gut.
Danke für Deinen Tip.
Sorry, dass meine Antwort so lange gedauert hat.
Viele Grüße
Martin
;

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