Syntax-Fehler, logische Fehler, Laufzeitfehler, Datentyp-Probleme

Von: Lorenz Hölscher
Stand: 11. April 2011
Beitrag bewerten
Anmelden um Kommentare zu schreiben

Syntax-Fehler

Syntax-Fehler sind die typischen Schreibfehler, die jedem passieren. Wenn Sie in einer einzigen Zeile auffallen, meldet sich der VBA-Editor direkt. Sind sie erst mehrere Zeilen später erkennbar, sagt der Compiler Bescheid.

Syntaxfehler treten meistens in einer einzigen Zeile auf und können daher vom VBA-Editor direkt erkannt und gemeldet werden. Die typischen Klassiker sind Schreibfehler wie beispielsweise in einem Word/Excel-Formular Me.AktivControl (richtig wäre Me.ActiveControl) oder Auslassungen wie If i > 10 (es fehlt Then dahinter).

Der Editor färbt beim Verlassen der fehlerhaften Zeile diese nicht nur rot, sondern erzeugt außerdem noch eine Meldung.

Da solche Flüchtigkeitsfehler meistens sofort ersichtlich sind, können Sie das lästige Bestätigen der Meldung vermeiden. Deaktivieren Sie dazu im VBA-Menü [Extras] [Optionen] [Editor] die Einstellung Automatische Syntaxüberprüfung.

Trotz der Beschriftung dieser Option wird genau nicht die Syntaxüberprüfung abgeschaltet. Vielmehr wird nur die Meldung unterdrückt und weiterhin die Zeile rot gefärbt.

Zu diesen schon genannten "klassischen" Fehlern in einer einzigen Zeile kommen solche, die erst einige Zeilen später bemerkt werden. Dabei handelt es sich vor allem um das Schließen geöffneter Blöcke, also zu jedem If ein notwendiges End If, zu jedem With ein End With und so weiter.

Sicherlich seltener, aber ebenso im Zusammenhang erst aufzuspüren, ist es beispielsweise, ein With mit einem End If zu schließen oder ein Exit Function statt eines Exit Sub einzusetzen.

Beide Arten von Syntaxfehlern sind aber relativ harmlos, weil direkt beim Verlassen der Zeile oder spätestens beim Kompilieren eine Meldung deutlich darauf hinweist.

Beim Starten der Prozedur meldet VBA einen Kompilierfehler

Nachdem VBA die obige Fehlermeldung angezeigt hat, ist die Zeile gelb hinterlegt, welche auszuführen versucht wurde:

Die gelbe Markierung kennzeichnet die nächste Zeile, die noch vor der Ausführung steht

Mit dem Menü Ausführen/Zurücksetzen können Sie den Programmlauf stoppen und den Fehler beheben.

Dies ist eine Leseprobe

Möchten Sie den Beitrag komplett lesen? Dann werden Sie Probemitglied und testen Sie akademie.de 14 Tage kostenlos!

Auf VBA: Fehler und Fehlerbehandlung erfahren Sie mehr über diesen Beitrag und die weiteren Leseproben.

Weitere Informationen finden Sie auf unserer Infoseite zur Mitgliedschaft und in unseren AGB.

Ich bin bereits Mitglied
Jetzt Probemitglied werden
Ich kann in den 14 Tagen Probezeit formlos z.B. per E-Mail stornieren. Wenn ich das nicht tue, entscheide ich mich für ein