VBA: Fehlerdiagnose/ Debugging vereinfachen mit einem extra Resume

Der folgende Trick hilft enorm, wenn man in einem VBA-Programm die Codezeile finden möchte, die einen Laufzeitfehler verursacht hat. Dazu baut man ein extra Resume in den Errorhandler der Prozedur ein. Im Normalfall wird dieses extra Resume vom Programmablauf nie erreicht, weil direkt davor der Aussprung aus der Fehlerbehandlung steht. Für das Debugging ist die Zeile aber sehr hilfreich. Sieh selbst!

 

Fehlerverursachende Programmzeile finden
Bild 1 : Programmcode mit extra Resume- Verschiebe den gelben Pfeil auf Resume!

Und so geht's:

  1. Benutze die Tastenkombination Strg+Pause, oder auch die Strg+Rollen, um in dem Moment, in dem das Programm die Fehlermeldung anzeigt, in den Debug-Modus zu gelangen.
  2. Zieht jetzt auf der linken Seite den gelben Pfeil mit der Maus auf die Anweisung Resume (Siehe Bild 1). Resume bedeutet "Führe doch bitte die Anweisung noch einmal aus, die den Fehler verursacht hat.". Mit F8 wird nun Resume  ausgeführt. Die fehlerverursachende Programmzeile ist daraufhin gelb markiert (Siehe Bild 2).
  3. Et voilà!
Bild 2: Die fehlerverursachende Zeile ist gefunden.
Bild 2: Die fehlerverursachende Zeile ist gefunden.
Download
Der Programmcode der im Bild dargestellten Prozedur
zum Kopieren und Ausprobieren in Deinem VBA-Projekt
Demo.txt
Text Dokument 544 Bytes
Kommentare: 0