öffentlich
Redaktion Druckversion

VBA lernen - Excel 2007/2010 (3)

Schrittweise testen

Ein Debugger ist ein Werkzeug, das dazu dient, Fehler in Programmen zu finden und zu beheben. Bei der Fehlerbeseitigung, dem Debuggen, verfolgen Sie den Ablauf Ihres Programms Anweisung für Anweisung und überprüfen dabei die Inhalte der Variablen.

Das Übungsbeispiel

Damit Sie die Beispiele dieses Kurses nachvollziehen können, starten Sie dazu bitte Excel 2007 und öffnen Sie die Übungsdatei "Testbeispiele.xlsm". Die einzelnen Kapitel beziehen sich auf die geöffnete Arbeitsmappe.

Übungsdatei

Die Übungsdatei Testbeispiele.xlsm können Sie hier herunterladen (Excel-2007-Arbeitsmappe mit aktivierten Makros, 22 KB).

Erscheint unmittelbar nach dem Öffnen der Arbeitsmappe 54021_Testbeispiele. xlsm über der Bearbeitungsleiste der Hinweis "Makros wurden deaktiviert", klicken Sie bitte auf die Fläche "Optionen...", und aktivieren Sie bitte in der angezeigten Sicherheitswarnung die Makros durch Klick auf das Optionsfeld "Diesen Inhalt aktivieren". Sie können Ihre Makros nur testen, wenn sie aktiv sind.

Makros aktivieren

Das Testbeispiel finden Sie auf dem Tabellenblatt Tabelle1.

Bild vergrößernDie Beispieltabelle

Das Problem kennen Sie bestimmt: Sie möchten das preisgünstigste Produkt aus einer Palette von Angeboten mit verschiedenen Mengen kaufen. Aufgrund der unübersichtlichen Mengenangebote fällt es schwer, den günstigsten Preis zu finden. In der vorliegenden Tabelle bieten diverse Produzenten Kartoffeln der Sorte Afra in unterschiedlichen Abpackungen und Preisen an. Eine Prozedur auswertung ermittelt den günstigsten, eine zweite Prozedur auswertung2 den ungünstigsten Preis.

Die Symbolleiste 'Debuggen' einblenden

Wechseln Sie in den VBA-Editor ("Entwicklertools" - Gruppe "Code" - "VBA" oder mit <Alt> + <F11>).

Über "Ansicht" - "Symbolleisten" - "Debuggen" blenden Sie die Symbolleiste Debuggen ein.

Über "Ansicht" - "Symbolleisten" - "Anpassen" können Sie sich zusätzliche Symbole, z.B. das Symbol "Ausführen bis Cursorposition" hinzufügen. Das erlaubt Ihnen, Ihre Bedienmöglichkeiten zum Test noch zu erweitern.

Bild vergrößernZusätzliches Symbol in Symbolleiste übernehmen

Bild vergrößernDie Symbolleiste Debuggen mit hinzugefügten Symbolen

Der Testlauf

Klicken Sie im VBA-Editor im Modul1 auf eine beliebige Stelle der Prozedur auswertung. Um die Prozedur schrittweise zu testen, wählen Sie entweder "Debuggen" - "Einzelschritt", drücken <F8> oder klicken auf der Symbolleiste Debuggen auf das Symbol Einzelschritt.

schrittweise testen

Auf Befehl (z.B. <F8>) interpretiert der VBA-Interpreter die aktuelle (gelb markierte) Anweisung und arbeitet sie ab.

Es wird immer der Programmschritt gelb markiert, der als nächster abgearbeitet wird, d. h. sein Ergebnis liegt erst nach dem Einzelschritt-Befehl vor!

Bei Bedarf können Sie den gelben Pfeil vor der aktuellen Anweisung mit dem Mauszeiger zu einer anderen Anweisung ziehen und somit die nächste Startposition des Testablaufs bestimmen. Für die logischen Konsequenzen sind Sie aber selbst verantwortlich!

Mit "Ausführen" - "Zurücksetzen" wird der Einzelschrittmodus beendet, mit "Ausführen" - "Fortsetzen" bzw. <F5> wird die Prozedur bis zum Ende ohne Halt abgearbeitet.

Mit "Ausführen" - "Sub/UserForm ausführen" bzw. <F5> wird eine Prozedur vollständig ohne Halt abgearbeitet.

Ein laufendes Programm können Sie mit <Strg>+<Pause> bzw. <Break> unterbrechen.

Quickinfo anzeigen

Wenn die Ausführung des VBA-Codes einer Prozedur anhält, z.B. beim schrittweisen Testen, wird Ihnen, sobald Sie den Mauszeiger darüber bewegen, der aktuelle Inhalt einer Variablen in einer QuickInfo angezeigt.

Anzeige des aktuellen Variableninhaltes

Mitglied werden, Vorteile nutzen!

  • Sie können alles lesen und herunterladen: Beiträge, PDF-Dateien und Zusatzdateien (Checklisten, Vorlagen, Musterbriefe, Excel-Rechner u.v.a.m.)
  • Unsere Autoren beantworten Ihre Fragen

Inhalt

Downloads zu diesem Beitrag

Über den Autor:

bild117282

Dieter Frommhold, Jahrgang 1943, Diplom-Lehrer für Physik und Mathematik, Verlagslektor und Programmierer. Seit 1971 langjährige Lehrtätigkeit über Betriebssysteme und Programmierung.

Ab 1994 arbe ...

Newsletter abonnieren