
Die `LBound`-Funktion in VBA (Visual Basic for Applications) wird verwendet, um die untere Grenze eines Arrays zu ermitteln, d.h. den kleinsten Indexwert, der für eine Dimension eines Arrays gültig ist. In VBA beginnen Arrays standardmäßig mit dem Index 0, es sei denn, sie wurden explizit anders deklariert.
Hier ist die grundlegende Syntax für die Verwendung von `LBound`:
LBound(arrayname[, dimension])
- `arrayname` ist der Name des Arrays, dessen untere Grenze Sie ermitteln möchten.
- `dimension` ist eine optionale Angabe, die die Dimension des Arrays spezifiziert, für die die untere Grenze ermittelt werden soll. Wird dieser Parameter weggelassen, wird die erste Dimension angenommen.
Beispiele für die Verwendung von `LBound`
1. Eindimensionales Array
Sub BeispielEindimensional()
Dim meinArray(5 To 10) As Integer
Dim untereGrenze As Integer
untereGrenze = LBound(meinArray)
MsgBox "Die untere Grenze ist: " & untereGrenze
End Sub
In diesem Beispiel wird ein eindimensionales Array namens `meinArray` deklariert, das Indizes von 5 bis 10 hat. Die `LBound`-Funktion gibt daher 5 zurück.
2. Mehrdimensionales Array
Sub BeispielMehrdimensional()
Dim meinArray(1 To 4, 3 To 6) As Integer
Dim untereGrenze1 As Integer
Dim untereGrenze2 As Integer
untereGrenze1 = LBound(meinArray, 1)
untereGrenze2 = LBound(meinArray, 2)
MsgBox "Die untere Grenze der ersten Dimension ist: " & untereGrenze1
MsgBox "Die untere Grenze der zweiten Dimension ist: " & untereGrenze2
End Sub
Hier haben wir ein zweidimensionales Array. `LBound(meinArray, 1)` ermittelt die untere Grenze der ersten Dimension (1) und `LBound(meinArray, 2)` für die zweite Dimension (3).
Wichtige Hinweise
- `LBound` ist besonders nützlich in Kombination mit `UBound`, um Schleifen zu generieren, die über alle Elemente eines Arrays laufen, ohne Annahmen über die Deklaration des Arrays zu treffen.
- Wenn Sie Standardarrays verwenden, die bei 0 beginnen (z.B. `Dim meinArray(10) As Integer`), gibt `LBound` 0 zurück.
- Vergewissern Sie sich, dass das Array initialisiert ist, bevor Sie `LBound` verwenden, um Laufzeitfehler zu vermeiden.