VBA lernen - Excel 2007/2010 (3)

Schrittweise testen

Bisher noch keine Bewertungen für diesen Artikel.

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.

60049_makros3.png

Makros aktivieren

Das Testbeispiel finden Sie auf dem Tabellenblatt Tabelle1.

59629_bild02.jpg

Die 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.

59628_bild01.jpg

Zusätzliches Symbol in Symbolleiste übernehmen

60064_bild11.jpg

Die 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.

59630_bild03.jpg

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.

59631_bild04.jpg

Anzeige des aktuellen Variableninhaltes