Dimensioni array VBA - Guida passo passo con esempi

In questo articolo, forniamo una guida passo passo per trovare la dimensione dell'array utilizzando il codice VBA.

Come trovare la dimensione di un array utilizzando il codice VBA?

Segui i passaggi per trovare la dimensione dell'array utilizzando il codice VBA di Excel.

  • Passaggio 1: iniziamo prima con la base, dichiariamo una variabile in VBA come tipo di dati variante.

Codice:

Sub Array_Size () Dim MyArray As Variant End Sub
  • Passaggio 2: per questa variabile utilizzare la funzione ARRAY e assegnare alcuni valori come mostrato di seguito.

Codice:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") End Sub
  • Passaggio 3: Ok, abbiamo assegnato alcuni valori al nome dell'array "MyArray".

Supponiamo di dover scrivere un ciclo per memorizzare questi valori di matrice nelle celle, quindi dobbiamo decidere quante volte il ciclo deve essere eseguito. Dipende dal numero di valori della matrice.

Ok, ora guarda il numero di valori assegnati al nome dell'array "MyArray", c'è un totale di 7 valori assegnati all'array, quindi ora sappiamo quante volte il ciclo deve essere eseguito per memorizzare i valori di un array nelle celle .

  • Passaggio 4: dichiarare un'altra variabile come numero intero per scrivere il ciclo FOR in VBA.

Codice:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer Per k = da 1 a 7 Avanti k End Sub
  • Passaggio 5: ecco, abbiamo aperto il ciclo FOR partendo da 1 a 7, all'interno del ciclo scriviamo la proprietà CELLS da memorizzare come mostrato di seguito.

Codice:

Sub Array_Size () Dim MyArray As Variant MyArray = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer Per k = da 1 a 7 Celle (k, 1) .Value = MyArray (k) Next k End Sub
  • Passaggio 6: Ok, ora esegui il codice riga per riga premendo un tasto funzione F8. Alla prima pressione del tasto F8, inizierà la macro.
  • Passaggio 7: premere F8 ora che salterà alla riga di assegnazione del valore dell'array.
  • Passaggio 8: Al momento il nome dell'array "MyArray" non contiene valori, premere F8 e tutti i valori menzionati verranno assegnati alla variabile dell'array.
  • Passaggio 9: ora il ciclo inizierà a funzionare e premere il tasto F8 2 volte e vedere quale valore otteniamo nella cella A1.
  • Oops !!! Aspetta, il nostro primo valore nella variabile array è "Jan", ma abbiamo ottenuto il risultato come secondo valore "Feb" quando è ancora in esecuzione il primo ciclo di valori.
  • Passaggio 10: questo perché quando il conteggio dei valori dell'array inizia da zero, non da 1, è necessario includere il ciclo iniziale come zero.
  • Passaggio 11: una volta che la posizione iniziale del loop è diminuita di uno, anche la fine dovrebbe essere diminuita di 1, quindi rendi la fine come 6 invece di 7.
  • Step 12: Once the loop starting and ending decided one more tweak we need to do, i.e. in the CELLS property we have used “k” variable as the dynamic cell picker but since our loop starts from zero, there is no cell starts with zero, so add plus 1 to the variable “k”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = 0 To 6 Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • Step 13: So now upon running the loop first-time “k” value is zero, and since we have added plus 1, the “k” value will be 1 so refers to cell A1.
  • Step 14: Now run the code, and all the values of array will be stored in cells.

However, in this instance, we have decided the loop starting and ending size manually, but the size of the array can be determined easily using LBOUND & UBOUND functions.

Find Size of an Array Automatically

  • Step 1: When we about included loop starting and ending point in the above we have manually counted the number of values array has but to start the array use LBOUND function and for this pass “MyArray” variable name.
  • Step 2: And to determine the last array size use UBOUND function and enter the array name “MyArray”.

Code:

Sub Array_Size() Dim MyArray As Variant MyArray = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul") Dim k As Integer For k = Lboubd(MyArray) To UBound(MyArray) Cells(k + 1, 1).Value = MyArray(k) Next k End Sub
  • Passaggio 3: Ok ora avvia il codice riga per riga e premi il tasto F8 fino a raggiungere il punto di inizio del ciclo.
  • Passaggio 4: ora prima posiziona il cursore su "LBound (MyArray)" e guarda cosa dice.
  • Passaggio 5: il numero del punto iniziale che dice è zero, ora posiziona il cursore su "UBound (MyArray)" e guarda cosa dice.

Dice che la dimensione dell'array è 6, quindi come abbiamo menzionato l'inizio e la fine manualmente, UBOUND e LBOUND selezionano automaticamente i numeri per noi.

Articoli interessanti...