![](https://codky.com/wp-content/uploads/2024/11/2606-1024x576.png)
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.