Kurze Erläuterung
Wenn Sie die Anweisung Option Explicit am Beginn des Moduls setzen, müssen Sie Ihre Variablen mit den Anweisungen Dim oder Redim erzeugen. Anschließend können Sie mit dem Schlüsselwort As einen Datentypen angeben.
Option Explicit Sub Ihre_Prozedur() Dim Variablenname As Datentyp ... End Sub
Ausführliche Erklärungen
Variablen erzeugen mit und ohne Option Explicit
Das folgende Beispiel zeigt, wie Sie Variablen erzeugen, wenn Option Explicit aktiviert ist:
Option Explicit Sub Meine_Prozedur() Dim Meine_Zahl As Byte Meine_Zahl = 10 End Sub
Hinweis: Wenn Sie die Typzuweisung mit As in diesem Beispiel weglassen, wählt Excel selbst den Datentypen.
Nun der gleiche Code, wenn Option Explicit nicht aktiviert ist:
Sub Meine_Prozedur() Meine_Zahl = 10 End Sub
Auch hier gilt, dass Excel den Datentypen der Variable selbst wählt.
Tipp: Ich empfehle Ihnen, Option Explicit in jedem Modul zu aktivieren! Warum Sie sich aber dieses Mehr an Schreibaufwand machen sollten, lesen Sie im nächsten Abschnitt!
Warum Option Explicit für Sie sinnvoll ist
Ressourcen schonen
Zum einen bringt Ihnen Option Explicit mehr Kontrolle über Ihr Programm. Mit dem sinnvollen Einsatz von Datentypen können Sie wertvolle Ressourcen sparen. Achten Sie einfach immer darauf, den Variablen einen Datentypen zuzuweisen, der nicht größer ist als notwendig.
Wenn Sie beispielsweise für Ihre Variable Zahlen von 1 bis 10 erwarten, dann reicht der Datentyp Byte vollkommen aus. Integer wäre dagegen überdimensioniert und würde Ihren Arbeitsspeicher unnötig belasten.
Hinweis: Wenn Sie Excel die Wahl des Datentyps überlassen, können Sie nicht sicher sein, dass immer der optimale Datentyp gewählt wird.
Fehler vermeiden
Zum anderen, und noch viel wichtiger, ist die Vermeidung von Fehlern. Das folgende Beispiel geht davon aus, dass Option Explicit nicht gesetzt ist:
Sub Meine_Prozedur() Meine_Zahl = 10 MsgBox MeineZahl End Sub
Das Meldungsfenster, welches die Anweisung MsgBox erzeugt, ist leer!
Haben Sie den Grund dafür erkannt? Genau! In der Anweisung MsgBox MeineZahl ist mir ein Fehler unterlaufen. Ich habe den Bindestrich vergessen. Dadurch habe ich jedoch eine neue Variable erzeugt, die natürlich keinen Wert enthält. Daher zeigt das Meldungsfenster auch nichts an!
Schauen wir uns an, was der gleiche Code mit Option Explicit getan hätte:
Option Explicit Sub Meine_Prozedur() Dim Meine_Zahl As Byte Meine_Zahl = 10 MsgBox MeineZahl End Sub
Excel bricht die Ausführung der Prozedur ab und gibt folgende Fehlermeldung aus:
Außerdem markiert das Programm die fehlerhafte Variable:
Sie sehen, die Verwendung von Option Explicit schützt Sie bei ärgerlichen Tippfehlern und hilft Ihnen zudem, mit Ihren Ressourcen besser haus zu halten.
Damit Sie Option Explicit nicht per Hand in jedes neue Modul schreiben müssen, schauen Sie sich noch den nächsten Hinweis an!
Option Explicit aktivieren
Sie können die Anweisung natürlich einfach selbst oben in Ihr Modul schreiben. Wichtig ist, dass der Text über der ersten Prozedur bzw. Funktion steht.
Besser ist jedoch, Sie setzen den richtigen Haken in den Optionen des VBA-Editors. Die Anweisung wird dann automatisch in jedem neuen Modul notiert. Sie müssen sich dann nicht mehr darum kümmern.
So gehen Sie vor: Menü Extras >> Optionen >> Reiter Editor >> Variablendeklaration erforderlich (Haken setzen)
Jetzt VBA lernen ohne Programmierkenntnisse!
Sie wollen die VBA-Programmierung in Excel lernen und sicher beherrschen? Dann empfehle ich Ihnen mein Seminar Excel VBA-Programmierung – Grundkurs. Der Einstieg in VBA mit Excel ist ohne Vorkenntnisse in Programmiersprachen möglich!