Cum se folosește funcția VBA LBound Array? (cu exemple)

Funcția Excel VBA LBound

LBound în VBA înseamnă „Lower Bound”, adică va extrage cel mai mic număr dintr-o matrice. De exemplu, dacă matricea spune „Dim ArrayCount (2 la 10) ca Șir”, folosind funcția LBound putem găsi cel mai mic număr din lungimea matricei, adică 2.

Mai jos este sintaxa funcției LBound. Este foarte simplu și ușor, are doar doi parametri.

Lbound (nume matrice [, dimensiune])
  • Nume matrice: Acesta este primul argument. Pentru acest parametru, trebuie să specificăm numele matricei care este utilizată pentru a defini matricea.
  • [Dimensiune]: Dacă matricea este o singură dimensiune, atunci aceasta nu este necesară, implicit este nevoie de una sau altfel trebuie să furnizăm numărul dimensiunii.

Deci, folosind aceste funcții putem găsi lungimea minimă a unui tablou.

Cum se utilizează funcția VBA LBound? (Exemplu)

Puteți descărca acest șablon Excel VBA LBound aici - Șablon Excel VBA LBound

Exemplul nr. 1

Pentru un exemplu, consultați codul de mai jos.

Cod:

 Sub LBound_Example1 () Dim Count (2 până la 5) Ca număr întreg MsgBox LBound (Count) End Sub 

În codul de mai sus, am definit matricea ca număr întreg și dimensiunea matricei de la 2 la 5. Apoi, am atribuit caseta de mesaj VBA pentru a afișa cea mai mică lungime a matricei utilizând funcția LBound.

Când vom rula codul, vom obține rezultatul de mai jos într-o casetă de mesaj.

Ieșire:

Deoarece matricea noastră începe de la 2, funcția LBound determină cea mai mică lungime a matricei ca 2.

Exemplul nr. 2

Acum, uitați-vă la codul de mai jos.

Cod:

 Sub LBound_Example2 () Dim Count (5) Ca număr întreg MsgBox LBound (Count) End Sub 

În cele de mai sus nu am decis limita cea mai mică, ci am furnizat doar lungimea matricei ca 5, acum să rulăm codul și să vedem cea mai mică lungime a valorii.

Ieșire:

A returnat rezultatul ca 0, deoarece atunci când nu decidem punctul de început și final al unui tablou, furnizați mai degrabă numărul static, de exemplu, „Count (5), adică în acest caz valoarea matricei începând de la 0 nu de la 1. Deci poate stoca total 6 valori în el acum.

Număr (0), Număr (1), Număr (2), Număr (3), Număr (4), Număr (5).

Exemplul nr. 3

Acum vom folosi gama de date și vom decide limita inferioară din gama de date. Pentru un exemplu, uitați-vă la imaginea de date de mai jos.

Din acest interval, vom decide cea mai mică și cea mai mare dimensiune a rândului.

Mai întâi, definiți variabila ca variantă.

Cod:

 Sub LBound_Example3 () Dim Rng As Variant End Sub 

Pentru această variabilă variantă „Rng” setați valoarea de referință a intervalului ca „Range („ B2: B5 ”). Valoare”.

Cod:

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

Pentru acest interval, vom găsi cea mai mică și cea mai mare lungime a matricei. Deschideți caseta de mesaje și funcția LBound și furnizați numele variabilei.

Cod:

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

Acum executați codul VBA și vedeți cea mai mică valoare din lungime.

Ieșire:

Acum schimbați referința variabilei din B2: B5 în A2: B5.

Pentru acest interval, vom găsi valorile limită inferioară și limită superioară.

Cod:

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

Deoarece avem mai multe matrice de dimensiuni, trebuie să furnizăm și numărul dimensiunii.

Cod:

 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:

For the first dimension lower bound is 1 and the upper bound is 4.

Click on “Ok” to get the next dimension limits.

Output:

For the second dimension lower limit is 1 and the upper limit is 2.

Things to Remember here

  • LBound function returns the minimum length from the array.
  • When the array length static i.e. single number then array always starts from the number 0 not from 1.
  • In the case of a multi-dimensional array, we need to specify the dimension number.