lettura normale

La funzione LBound() in una macro Excel

In questa lezione ti spiego come trovare il limite inferiore di un array in una macro Excel tramite la funzione

Lbound(array, [dimensione])

Questa funzione ha due parametri.

  • Il primo parametro è l'array di cui vuoi conoscere il limite inferiore.
  • Il secondo parametro è la dimensione dell'array, ossia in quale indice vuoi trovare il limite inferiore. Per impostazione predefinita è il primo.

Restituisce il primo valore dell'indice.

Ti faccio un esempio pratico.

  1. Sub Prova()
  2. Dim myArray(10) As Integer
  3. Dim i As Integer
  4. For i = LBound(myArray) To UBound(myArray)
  5. myArray(i) = i
  6. Next i
  7. End Sub

Questa macro dichiara un array chiamato "myArray" con 10 elementi di tipo Integer (numeri interi).

Il ciclo For i = LBound(myArray) To UBound(myArray) itera dal primo valore dell'indice all'ultimo e assegna dei valori agli elementi dell'array.

In questo caso il primo valore dell'indice è ottenuto tramite la funzione LBound(myArray) che restituisce zero (0).

Nota. Nelle macro in cui hai inserito l'istruzione Option Base 1, il primo elemento dell'indice è 1 e non zero.

L'ultimo valore dell'indice è invece ottenuto tramite la funzione UBound(myArray) che restituisce 10.

Ti faccio un altro esempio.

Dichiara questo array multidimensionale

Dim myArray(3 To 5, 2 To 3) As Integer

In questo array le dimensioni sono due

  • La prima dimensione dell'array va da 3 a 5.
  • La seconda dimensione dell'array va da 2 a 3.

La funzione LBound(myArray,1) ti restituisce il limite inferiore della prima dimensione.

LBound(myArray,1)

In questo caso è 3

3

La funzione LBound(myArray,2) ti restituisce il limite inferiore della seconda dimensione.

LBound(myArray,2)

In questo caso è 2

2

La funzione LBOUND() è molto utile quando lavori con gli array multidimensionali, perché ti consente di accedere ai singoli elementi dell'array in modo iterativo specificando gli indici inferiori e superiori delle varie dimensioni.




Se qualcosa non ti è chiaro, scrivi la tua domanda nei commenti.




FacebookTwitterLinkedinLinkedin