Wie verwende ich die Option Base-Anweisung in VBA?

In VBA (Visual Basic for Applications) wird die `Option Base`-Anweisung verwendet, um den unteren Grenzwert des Indizes für Arrays festzulegen. Standardmäßig beginnen Arrays in VBA bei 0, aber mit `Option Base` können Sie festlegen, dass Arrays bei 1 beginnen. Diese Anweisung muss ganz oben im Modul stehen, vor allen anderen ausführbaren Anweisungen oder Deklarationen.

Es gibt zwei mögliche Werte, die Sie mit `Option Base` verwenden können:

  • `Option Base 0`: Arrays beginnen bei 0 (dies ist der Standardwert).
  • `Option Base 1`: Arrays beginnen bei 1.

Beispiel

Wenn Sie möchten, dass Arrays standardmäßig bei 1 beginnen, platzieren Sie die Anweisung `Option Base 1` oben im Modul:

Option Base 1

Sub Beispiel()
    Dim meinArray(5) As Integer
    meinArray(1) = 10
    meinArray(2) = 20
    Debug.Print meinArray(1) ' Gibt 10 aus
    Debug.Print meinArray(2) ' Gibt 20 aus
End Sub

Wichtige Hinweise

  • Gültigkeit: Die `Option Base`-Anweisung gilt nur für das Modul, in dem sie deklariert ist. Sie hat keine Auswirkungen auf andere Module in der VBA-Projektmappe.
  • Einmalig setzen: Sie kann nur einmal pro Modul gesetzt werden und sollte ganz am Anfang stehen, bevor andere Deklarationen erfolgen.
  • Nicht für alle Arrays: `Option Base` hat keine Auswirkungen auf Arrays, die mit `Array`-Funktion erstellt wurden oder auf mehrdimensionale Arrays, bei denen Sie die unteren und oberen Grenzen explizit angeben.
  • Einfluss von `Option Base` auf die `Dim`-Anweisung: Beachten Sie, dass die Verwendung von `Dim meinArray(5)` und `Option Base 1` bedeutet, dass das Array Indizes 1 bis 5 hat, während ohne `Option Base` das gleiche `Dim meinArray(5)` die Indizes 0 bis 5 ergibt.

Verwenden Sie `Option Base` mit Bedacht, da die Änderung der Basis von 0 auf 1 möglicherweise den Code lesen und pflegen erschweren kann, besonders wenn Sie an Projekten mit mehreren Programmierern arbeiten, die an unterschiedliche Konventionen gewöhnt sind.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project