Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Debugger komplett unterdrücken

Forumthread: Debugger komplett unterdrücken

Debugger komplett unterdrücken
17.11.2017 17:47:12
Hase
Hallo Zusammen,
ich hab mal eine generelle Frage.
Wenn meine Programme fertig sind, gebe ich diese immer einer Test Gruppe. Dabei kommt es vor, dass der Debugger sich öffnet, die Kreativität der User ist ja unbegrenzt. Der arme User ist dann aber völlig verwirrt und hat Angst dass beim nächsten Klick der Rechner explodiert.
Gibt es eine Möglichkeit den Debugger zu unter drücken? Ich würde dann eine MsgBox einbauen und mir vom Programm die Datei schicken lasse. Ich selbst kann den Code ja dann deaktivieren und schauen wo ich eine gezielte Fehlerbehandlung noch einbauen muss.
Vielen Dank für eure Hilfe!
LG Hase
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Debugger komplett unterdrücken
17.11.2017 18:01:06
onur
"Dabei kommt es vor, dass der Debugger sich öffnet, die Kreativität der User ist ja unbegrenzt" - Wenn du korrekt programmierst, kann das eigentlich nicht vorkommen.
Die Kunst des Programmierens ist halt auch, JEGLICHE Fehlerquelle im Keime zu ersticken.
Aber du kannst (in jede Sub) einen Errorhandler einbauen (On Error goto xy) und bei XY eine globale Sub aufrufen lassen, die dann eine MsgBox ausspuckt und den Code beendet.
Anzeige
AW: Debugger komplett unterdrücken
17.11.2017 18:42:14
ChrisL
Hi
Beim Testen geht es ja darum Fehler zu finden. Nur sollten die Testpersonen auch in der Lage sein auf Degugger zu klicken und einen Screenshot von der gelben Zeile zu nehmen, weil sonst wird die Fehlersuche umständlich.
Fehler vermeiden ist immer besser, aber manchmal ist ein Fehlerhandling doch ganz nützlich.
Quick&Dirty-alle-Fehler-überspringen-Keule (keine Fehlermeldung)
On Error Resume Next
Oder
On Error Goto ErrorHandler
' bestehender Code dazwischen
Exit Sub
ErrorHandler:
MsgBox "Fehler blabla... Fehlernummer:" & Err.Number & " Fehlertext:" & Err.Description
cu
Chris
Anzeige
AW: Debugger komplett unterdrücken
17.11.2017 19:08:27
Hase
Hallo ChrisL, Hallo onur,
vielen vielen Dank! Werd ich gleich mal ausprobieren. Genau die Fehler-Keule such ich, damit kein User Panik bekommt. Meine Test Gruppe ist leider nicht so versiert in VBA.
Nur durch die Fehler der User kann ich mehr lernen.
Besten Dank euch!
;
Anzeige
Anzeige

Infobox / Tutorial

Debugger in Excel unterdrücken


Schritt-für-Schritt-Anleitung

  1. Error Handling aktivieren: Um den Debugger in Excel VBA zu unterdrücken, kannst du einen Error Handler in deinen Code einfügen. Dies verhindert, dass der Debugger sich öffnet, wenn ein Fehler auftritt.

    Sub DeinMakro()
        On Error GoTo ErrorHandler
        ' Dein bestehender Code hier
        Exit Sub
    ErrorHandler:
        MsgBox "Ein Fehler ist aufgetreten. Fehlernummer: " & Err.Number & " Fehlertext: " & Err.Description
    End Sub
  2. Fehler ignorieren: Wenn du sicher bist, dass ein Fehler nicht kritisch ist und du ihn einfach ignorieren möchtest, kannst du On Error Resume Next verwenden. Dies lässt den Code einfach fortfahren, ohne den Debugger zu öffnen.

    Sub FehlerIgnorieren()
        On Error Resume Next
        ' Dein Code hier
    End Sub
  3. Testgruppe informieren: Stelle sicher, dass deine Testgruppe versteht, dass Fehler auftreten können und wie sie damit umgehen sollen. Eine einfache MsgBox kann hier hilfreich sein.


Häufige Fehler und Lösungen

  • Debugger öffnet sich trotz Error Handler: Überprüfe, ob du den On Error GoTo korrekt platziert hast. Der Handler muss vor dem problematischen Code stehen, damit er wirksam wird.

  • Code stoppt plötzlich: Wenn du On Error Resume Next verwendest, überprüfe, ob du nach dem fehlerhaften Code eine Fehlerüberprüfung einbaust, um nicht unbemerkt von Fehlern weiterzumachen.


Alternative Methoden

  • Globale Fehlerbehandlung: Du kannst eine globale Subroutine erstellen, die für alle Module verwendet wird. So musst du den Error Handler nicht in jedem Sub einfügen.

    Sub GlobalErrorHandler()
        MsgBox "Ein unerwarteter Fehler ist aufgetreten."
        ' Weitere Fehlerprotokollierung oder Verarbeitung hier
    End Sub
  • Fehlerprotokollierung: Du kannst einen Fehlerprotokollierungsmechanismus einfügen, der alle Fehler in eine Datei schreibt, anstatt sie nur anzuzeigen. Dies kann dir helfen, die Fehler später zu debuggen.


Praktische Beispiele

  • Beispiel 1: Einfaches Makro mit Error Handler

    Sub BeispielMakro()
        On Error GoTo ErrorHandler
        ' Fehleranfälliger Code
        Dim x As Integer
        x = 1 / 0 ' Dieser Code verursacht einen Fehler
        Exit Sub
    ErrorHandler:
        MsgBox "Fehler im BeispielMakro. Fehlernummer: " & Err.Number
    End Sub
  • Beispiel 2: Fehler ignorieren und fortfahren

    Sub FehlerIgnorierenBeispiel()
        On Error Resume Next
        ' Fehleranfälliger Code
        Dim y As Integer
        y = 1 / 0 ' Dieser Code wird ignoriert
    End Sub

Tipps für Profis

  • Vermeide On Error Resume Next ohne Aufsicht: Diese Methode kann dazu führen, dass schwerwiegende Fehler unbemerkt bleiben. Nutze sie mit Bedacht und kombiniere sie mit Protokollierungsmaßnahmen.

  • Verwende den Excel Debugger für komplexe Fehler: Während du den Debugger in Excel vermeiden möchtest, kann es manchmal sinnvoll sein, ihn zu verwenden, um komplexe Fehler während der Entwicklung zu identifizieren.

  • Regelmäßiges Testen: Teste deinen Code regelmäßig in verschiedenen Szenarien, um sicherzustellen, dass der Error Handler überall funktioniert und die Benutzer nicht über den Debugger verwirrt werden.


FAQ: Häufige Fragen

1. Wie kann ich den Excel Debugger öffnen?
Du kannst den Excel Debugger öffnen, indem du in der VBA-Umgebung auf "Debuggen" > "Debuggen" klickst oder die Tastenkombination F5 verwendest.

2. Was ist der Unterschied zwischen On Error Resume Next und On Error GoTo?
On Error Resume Next ignoriert Fehler und fährt mit dem nächsten Code fort, während On Error GoTo zu einer definierten Fehlerbehandlungsroutine springt, wenn ein Fehler auftritt.

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