In VBA (Visual Basic for Applications) wird die `UBound`-Funktion verwendet, um das obere Ende eines Arrays zu bestimmen. Sie gibt den größten verfügbaren Index in der angegebenen Dimension eines Arrays zurück. Hier ist eine grundlegende Anleitung zur Verwendung der `UBound`-Funktion:
Syntax
UBound(ArrayName, [Dimension])
- ArrayName: Der Name des Arrays, dessen oberen Index Sie ermitteln möchten.
- Dimension (optional): Eine Zahl, die die Dimension des Arrays angibt, für die der obere Index zurückgegeben werden soll. Standardwert ist 1. (1 für die Zeilen, 2 für die Spalten in einem zweidimensionalen Array)
Beispiele
Sub BeispielEindimensional()
Dim meinArray(1 To 5) As Integer
Dim obereGrenze As Integer
obereGrenze = UBound(meinArray)
MsgBox "Die obere Grenze des Arrays ist: " & obereGrenze
End Sub
- Eindimensionales Array
In diesem Beispiel wird `UBound` verwendet, um den höchsten Index des Arrays `meinArray` zu bestimmen, das von 1 bis 5 dimensioniert ist. Die Nachricht gibt “5” aus.
Sub BeispielZweidimensional()
Dim meinZweiDimArray(1 To 3, 1 To 4) As Integer
Dim obereGrenzeZeilen As Integer
Dim obereGrenzeSpalten As Integer
obereGrenzeZeilen = UBound(meinZweiDimArray, 1)
obereGrenzeSpalten = UBound(meinZweiDimArray, 2)
MsgBox "Die obere Grenze für Zeilen ist: " & obereGrenzeZeilen
MsgBox "Die obere Grenze für Spalten ist: " & obereGrenzeSpalten
End Sub
- Zweidimensionales Array
In diesem Beispiel wird `UBound` verwendet, um sowohl die obere Grenze der Zeilen als auch die der Spalten eines zweidimensionalen Arrays `meinZweiDimArray` zu bestimmen. Das Ergebnis wären “3” für die Zeilen und “4” für die Spalten.
Anwendung
Die `UBound`-Funktion ist nützlich, wenn Sie dynamisch mit Arrays arbeiten und nicht die genaue Größe des Arrays kennen. Sie wird häufig in Kombination mit `LBound` (die die untere Grenze des Arrays zurückgibt) verwendet, um durch alle Elemente eines Arrays zu iterieren.
For i = LBound(meinArray) To UBound(meinArray)
' Verarbeiten Sie jedes Element
Next i
Dies stellt sicher, dass der Code unabhängig von den genauen Start- und Endindizes des Arrays korrekt funktioniert.