Wie verwende ich die LBound-Funktion in VBA?

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.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project