Wie verwende ich die UBound-Funktion in VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project