Excel-Makros - Debuggen eines Codes

Sie haben erfahren, dass das Makro in Excel als VBA-Code gespeichert ist. Sie haben auch gelernt, dass Sie direkt Code schreiben können, um ein Makro im VBA-Editor zu erstellen. Wie bei jedem Code kann jedoch auch der Makrocode Fehler aufweisen und das Makro wird möglicherweise nicht wie erwartet ausgeführt.

Dazu muss der Code überprüft werden, um die Fehler zu finden und zu beheben. Der Begriff, der für diese Aktivität in der Softwareentwicklung verwendet wird, ist Debugging.

VBA-Debugging

Mit dem VBA-Editor können Sie die Ausführung des Codes anhalten und alle erforderlichen Debug-Aufgaben ausführen. Im Folgenden finden Sie einige der Debugging-Aufgaben, die Sie ausführen können.

  • Code durchgehen
  • Haltepunkte verwenden
  • Sichern oder Vorwärtsbewegen im Code
  • Nicht durch jede Codezeile treten
  • Abfragen beim Durchlaufen des Codes
  • Die Ausführung anhalten

Dies sind nur einige der Aufgaben, die Sie möglicherweise in der Debugging-Umgebung von VBA ausführen.

Den Code durchgehen

Das erste, was Sie zum Debuggen tun müssen, ist, den Code während der Ausführung zu durchlaufen. Wenn Sie eine Vorstellung davon haben, welcher Teil des Codes wahrscheinlich den Fehler verursacht, können Sie zu dieser Codezeile springen. Andernfalls können Sie den Code zeilenweise ausführen, im Code sichern oder vorwärts gehen.

Sie können den Code entweder über das Dialogfeld "Makro" in Ihrer Arbeitsmappe oder über den VBA-Editor selbst aufrufen.

Stepping into the code from the workbook

Gehen Sie wie folgt vor, um aus der Arbeitsmappe in den Code zu gelangen:

  • Klicken Sie auf der Multifunktionsleiste auf die Registerkarte ANSICHT.
  • Klicken Sie auf Makros.
  • Wählen Sie Makros anzeigen aus der Dropdown-Liste.

Das Dialogfeld Makro wird angezeigt.

  • Klicken Sie auf den Makronamen.
  • Klicken Sie auf die Schaltfläche Schritt in.

Der VBA-Editor wird geöffnet und der Makrocode wird im Codefenster angezeigt. Die erste Zeile im Makrocode wird gelb hervorgehoben.

Stepping into the code from the VBA editor

Gehen Sie wie folgt vor, um über den VBA-Editor in den Code zu gelangen:

  • Klicken Sie auf der Multifunktionsleiste auf die Registerkarte ENTWICKLER.
  • Klicken Sie auf Visual Basic. Der VBA-Editor wird geöffnet.
  • Klicken Sie auf das Modul, das den Makrocode enthält.

Der Makrocode wird im Codefenster angezeigt.

  • Klicken Sie auf der Multifunktionsleiste auf die Registerkarte Debug.

  • Wählen Step into aus der Dropdown-Liste.

Die erste Zeile im Makrocode wird hervorgehoben. Der Code befindet sich im Debugging-Modus und die Optionen in der Dropdown-Liste Debuggen werden aktiv.

Sichern oder Vorwärtsbewegen im Code

Sie können im Code vorwärts oder rückwärts gehen, indem Sie Step Over oder Step Out auswählen.

Nicht durch jede Codezeile treten

Sie können vermeiden, durch jeden Zeilencode zu gehen, wenn Sie einen potenziellen Teil des Codes identifizieren, der besprochen werden muss, indem Sie Auf Cursor ausführen auswählen.

Haltepunkte verwenden

Alternativ können Sie Haltepunkte in bestimmten Codezeilen festlegen und den Code ausführen, wobei Sie die Ergebnisse an jedem Haltepunkt beobachten. Sie können einen Haltepunkt umschalten und bei Bedarf alle Haltepunkte löschen.

Verwenden von Watch

Sie können beim Debuggen eine Überwachung hinzufügen, um einen Ausdruck auszuwerten und die Ausführung zu stoppen, wenn eine Variable einen bestimmten Wert erreicht. Dies bedeutet, dass Sie einen Überwachungsausdruck konfigurieren, der überwacht wird, bis er wahr ist. Anschließend wird das Makro angehalten und Sie werden im Pausenmodus belassen. VBA bietet Ihnen verschiedene Uhrentypen zur Auswahl, um das zu erreichen, wonach Sie suchen.

Die Ausführung anhalten

Wenn Sie während des Debuggens zu irgendeinem Zeitpunkt einen Hinweis darauf gefunden haben, was falsch läuft, können Sie die Ausführung anhalten, um sie weiter zu entschlüsseln.

Wenn Sie ein erfahrener Entwickler sind, ist Ihnen die Debugging-Terminologie vertraut, und die Debugging-Optionen des VBA-Editors erleichtern Ihnen das Leben. Auch sonst wird es nicht lange dauern, diese Fähigkeit zu beherrschen, wenn Sie VBA gelernt und den Code verstanden haben.