window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'G-TCJTE9L38H');

Die Option Explicit-Anweisung

Lies diesen Artikel und viele weitere mit einem kostenlosen, einwöchigen Testzugang.

Es gibt einige wenige Optionen in VBA-Projekten, die Sie modulabhängig festlegen können. Eine davon heißt “Option Explicit”. Diese Anweisung legt fest, dass in einem Modul keine Variablen verwendet werden dürfen, die nicht deklariert wurden. In diesem Artikel schauen wir uns an, wie sich das in der Praxis auswirkt, wie Sie sicherstellen können, dass “Option Explicit” immer automatisch hinzugefügt wird und dass viele Probleme in Softwareprojekten entstehen, weil Microsoft uns diese Option nicht automatisch bereitstellt.

Standardverhalten: Kein Option Explicit!

Wenn Sie bereits einmal ein Modul in einem VBA-Projekt einer Access-Anwendung angelegt haben, ist Ihnen die Anweisung Option Compare Database bekannt, die immer oben im Modul steht.

Wenn Sie Access frisch installiert haben oder wenn Sie noch keine Änderungen an den Optionen des VBA-Editors vorgenommen haben, sieht ein neues Modul immer wie in Bild 1 aus.

So sieht ein neues Modul standardmäßig aus.

Bild 1: So sieht ein neues Modul standardmäßig aus.

Die dort enthaltene Anweisung Option Compare Database legt fest, wie Vergleiche von Zeichenfolgen stattfinden, aber das ist ein anderes Thema.

Weniger Aufwand ohne Deklaration

Wenn Sie in einem solchem Modul VBA-Prozeduren programmieren, sind Sie richtig flexibel: Sie brauchen nämlich Variablen nicht zu deklarieren.

Sie können dann in einer Prozedur wie der folgenden einfach eine Variable namens strInput nutzen und sparen sich die Tipperei für die Variablendeklaration:

Option Compare Database
Public Sub OhneDeklaration()
     strInput = InputBox("Geben Sie einen Text ein.")
     MsgBox "Eingegebener Text:" & vbCrLf & strInput
End Sub

Die Prozedur funktioniert genauso, als wenn Sie die Variable strInput deklariert hätten.

Probleme ohne Option Explicit sind vorprogrammiert

Wenn Sie ohne Deklaration arbeiten, können verschiedene Probleme auftauchen:

  • Variablen erhalten standardmäßig den Datentyp Variant.
  • Schreibfehler in Variablen können zu logischen Fehlern führen.
  • Der Gültigkeitsbereich einer Variablen ist nicht definiert.

Wie sich diese Fehler auswirken, schauen wir uns in den folgenden Abschnitten an.

Ende des frei verfügbaren Teil. Wenn Du mehr lesen möchtest, hole Dir ...

Testzugang

eine Woche kostenlosen Zugriff auf diesen und mehr als 1.000 weitere Artikel

diesen und alle anderen Artikel mit dem Jahresabo

Schreibe einen Kommentar