
La funzione UBound() in una macro Excel
La funzione UBound() restituisce il limite superiore di un array in una macro Excel
Ubound(array, [dimensione])
Questa funzione ha due parametri.
- Il primo parametro è l'array in questione
- Il secondo parametro è la dimensione. E' facoltativo e di default è la prima dimensione.
Ti faccio un esempio pratico.
- Sub Prova()
- Dim myArray(10) As Integer
- Dim i As Integer
- For i = LBound(myArray) To UBound(myArray)
- myArray(i) = i
- Next i
- End Sub
L'array si chiama "myArray" ed è composto da 10 elementi di tipo Integer.
Il ciclo For i = LBound(myArray) To UBound(myArray) legge ogni elemento dell'array dal primo all'ultimo in modo iterativo.
In questo caso la funzione UBound(myArray) restituisce zero 10. E' il limite superiore dell'array.
Nota. La funzione LBound(myArray) restituisce, invece, il limite inferiore ossia zero.
Ecco un altro esempio.
Dichiara questo array multidimensionale
Dim myArray(3 To 5, 2 To 3) As Integer
Si tratta di una matrice, quindi le dimensioni dell'array sono due (larghezza e lunghezza)
- La prima dimensione dell'array va da 3 a 5.
- La seconda dimensione dell'array va da 2 a 3.
La funzione UBound(myArray,1) restituisce il limite superiore della prima dimensione dell'array.
UBound(myArray,1)
Il limite superiore della prima dimensione dell'array è 5
5
La funzione UBound(myArray,2) restituisce invece il limite superiore della seconda dimensione.
UBound(myArray,2)
Il limite superiore della seconda dimensione dell'array è 3
3
In questo modo puoi accedere ai singoli elementi di qualsiasi array multidimensionale in modo iterativo, senza indicare con precisione il limite inferiore e superiore dell'array.