Hoe de VBA LBound Array-functie te gebruiken? (met voorbeelden)

Excel VBA LBound-functie

LBound in VBA staat voor "Lower Bound", dwz het zal het laagste nummer van een array extraheren. Als de array bijvoorbeeld zegt "Dim ArrayCount (2 tot 10) as String", dan kunnen we met de functie LBound het kleinste getal van de arraylengte vinden, dwz 2.

Hieronder staat de syntaxis van de functie LBound. Het is heel eenvoudig en gemakkelijk; het heeft slechts twee parameters.

Lbound (Array-naam (, dimensie))
  • Array Name: Dit is het eerste argument. Voor deze parameter moeten we de naam van de array specificeren, die wordt gebruikt om de array te definiëren.
  • (Dimensie): als de array een enkele dimensie is, is dit niet vereist. Standaard is er één nodig, anders moeten we het dimensienummer opgeven.

Dus met behulp van deze functies kunnen we de minimumlengte van een array vinden.

Hoe gebruik je de VBA LBound-functie? (Voorbeeld)

Voorbeeld 1

Kijk bijvoorbeeld naar de onderstaande code.

Code:

Sub LBound_Example1 () Dim Count (2 tot 5) As Integer MsgBox LBound (Count) End Sub

In de bovenstaande code hebben we de array gedefinieerd als geheel getal en de grootte van de array als 2 tot 5. Vervolgens hebben we het VBA-berichtvenster toegewezen om de laagste lengte van de array weer te geven met behulp van de functie LBound.

Wanneer we de code uitvoeren, krijgen we het onderstaande resultaat in een berichtvenster.

Uitgang:

Omdat onze array begint bij 2, bepaalt de functie LBound de laagste lengte van de array als 2.

Voorbeeld 2

Kijk nu naar de onderstaande code.

Code:

Sub LBound_Example2 () Dim Count (5) As Integer MsgBox LBound (Count) End Sub

In het bovenstaande hebben we niet besloten wat de laagste limiet is. In plaats daarvan hebben we nu de array-lengte 5 opgegeven. Laten we de code uitvoeren en de laagste lengte van de waarde bekijken.

Uitgang:

Het heeft het resultaat geretourneerd als 0, want als we het begin- en eindpunt van een array niet bepalen, geef je liever het statische getal op, bijvoorbeeld 'Count (5), dat wil zeggen, in dit geval, de array-waarde beginnend bij 0, niet vanaf 1. We kunnen er nu dus in totaal 6 waarden in opslaan.

Tel (0), tel (1), tel (2), tel (3), tel (4), tel (5).

Voorbeeld # 3

Nu zullen we het gegevensbereik gebruiken en de ondergrens van het gegevensbereik bepalen. Kijk bijvoorbeeld naar de onderstaande gegevensafbeelding.

Uit dit assortiment bepalen we de kleinste en hoogste rijmaat.

Definieer eerst de variabele als een variant.

Code:

Sub LBound_Example3 () Dim Rng als variant End Sub

Stel voor deze variabele van de variant 'Rng' de referentiewaarde voor het bereik in op 'Bereik (' B2: B5 '). Waarde'.

Code:

Sub LBound_Example3 () Dim Rng As Variant Rng = Bereik ("B2: B5"). Waarde End Sub

Voor dit bereik zoeken we de laagste en hoogste array-lengte. Open het berichtvenster en de LBound-functie en geef de variabelenaam op.

Code:

Sub LBound_Example3 () Dim Rng As Variant Rng = Range ("B2: B5"). Waarde MsgBox LBound (Rng) End Sub

Voer nu de VBA-code uit en bekijk de laagste waarde van de lengte.

Uitgang:

Verander nu de variabele referentie van B2: B5 naar A2: B5.

Voor dit bereik zullen we de ondergrens en bovengrenswaarden vinden.

Code:

Sub LBound_Example3 () Dim Rng As Variant Rng = Bereik ("A2: B5"). Waarde End Sub

Omdat we meer dan één dimensie-array hebben, moeten we ook het dimensienummer opgeven.

Code:

Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) End Sub

To find the first column first lower bound above code will help, similarly to find the upper bound in this first column below code will help.

Code:

Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) & vbNewLine & UBound(Rng, 1) End Sub

This will find the first column lower length and upper length. Similarly, in the next line, write one more message box but this time, change the dimension from 1 to 2.

Code:

Sub LBound_Example3() Dim Rng As Variant Rng = Range("A2:B5").Value MsgBox LBound(Rng, 1) & vbNewLine & UBound(Rng, 1) MsgBox LBound(Rng, 2) & vbNewLine & UBound(Rng, 2) End Sub

Run the code and see the result in the message box.

Output:

Voor de eerste dimensie is de ondergrens 1 en de bovengrens 4.

Klik op "Ok" om de volgende dimensielimieten te zien.

Uitgang:

Voor de tweede dimensie is de ondergrens 1, en de bovengrens is 2.

Dingen om hier te onthouden

  • De functie LBound retourneert de minimale lengte van de array.
  • Als de array-lengte statisch is, dwz een enkel getal, dan begint de array altijd met het getal 0, niet met 1.
  • In het geval van een multidimensionale array, moeten we het dimensienummer specificeren.

Interessante artikelen...