Funzione array VBA in Excel

In VBA gli array vengono utilizzati per definire il gruppo di oggetti insieme, ci sono nove diverse funzioni di array in VBA e sono ARRAY, ERASE, FILTER, ISARRAY, JOIN, LBOUND, REDIM, SPLIT e UBOUND, tutte queste sono funzioni integrate per array in VBA, la funzione Array ci fornisce il valore per l'argomento specificato.

Funzione array VBA di Excel

La funzione array è una raccolta di valori in una singola variabile. Possiamo fornire un array a una subroutine in vba, funzioni e proprietà. Gli array VBA sono una delle tecniche spesso utilizzate per memorizzare più di un valore nella variabile.

Esempi di funzioni array VBA di Excel

Invece di dichiarare molte variabili e memorizzare i valori, possiamo utilizzare l'array VBA di Excel per memorizzare il valore in una singola variabile stessa. Ad esempio, guarda l'esempio seguente

Puoi scaricare questo modello Excel per array VBA qui - Modello Excel per array VBA

Codice:

 Sub Array_Ex () Dim x As Integer Dim y As Integer x = 1 y = 2 Range ("A1"). Value = x Range ("A2"). Value = y End Sub 

Nell'esempio sopra, ho dichiarato due variabili chiamate x e y. X contiene 1 come valore e Y contiene 2 come valore.

Ora, guarda l'esempio della funzione array VBA di Excel con una singola variabile.

Codice:

 Sub Array_Ex () Dim x (1 To 2) As Integer Range ("A1"). Value = x (1) Range ("A2"). Value = x (2) End Sub 

Ora se esegui questo codice VBA avremmo valori nelle celle A1 e A2.

Le variabili di matrice hanno restituito il risultato come zero. Questo perché abbiamo appena dichiarato le variabili come due ma non abbiamo assegnato alcun valore a tali variabili. Quindi dobbiamo assegnare valori a queste variabili.

Codice:

 Sub Array_Ex () Dim x (1 To 2) As Integer x (1) = 10 x (2) = 20 Range ("A1"). Value = x (1) Range ("A2"). Value = x (2 ) End Sub 

Ora esegui il codice per ottenere risultati.

Prima di inserire i valori delle variabili di matrice nelle celle, dobbiamo assegnare il valore a quelle variabili di matrice dichiarate come abbiamo assegnato le variabili x (1) = 10 & x (2) = 20.

Esempio n. 1: inserire numeri di serie utilizzando un array statico

Diamo un'occhiata all'esempio di utilizzo di un array statico per inserire numeri di serie. Questo è molto simile al precedente.

Codice:

 Sub StaticArray_Ex () Dim x (da 1 a 5) As Integer x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Intervallo ("A1"). Valore = x (1) Intervallo ("A2"). Valore = x (2) Intervallo ("A3"). Valore = x (3) Intervallo ("A4"). Valore = x (4) Intervallo ("A5" ) .Value = x (5) End Sub 

Ora esegui questo codice per inserire i numeri di serie.

Esempio # 2: inserire i numeri di serie utilizzando un array dinamico

Ora vedremo il secondo tipo di array, ovvero array dinamico

Codice:

 Sub DynamicArray_Ex () Dim x () As Integer ReDim x (5) x (1) = 10 x (2) = 20 x (3) = 30 x (4) = 40 x (5) = 50 Intervallo ("A1" ) .Valore = x (1) Intervallo ("A2"). Valore = x (2) Intervallo ("A3"). Valore = x (3) Intervallo ("A4"). Valore = x (4) Intervallo (" A5 "). Valore = x (5) End Sub 

Ora esegui questo codice per ottenere il risultato dei numeri di serie. Otteniamo lo stesso risultato del precedente.

Se noti che non abbiamo fornito la lunghezza dell'array durante la dichiarazione della variabile, invece abbiamo assegnato l'ultimo valore dell'array VBA utilizzando la funzione VBA Redim. Redim contiene l'ultimo valore dell'array da passare.

Esempio # 3 - Crea una funzione Inserisci i nomi dei mesi usando un array

Abbiamo visto come lavorare con gli array in VBA. Ora vedremo come lavorare con un array per creare funzioni VBA in Excel. La funzione non è altro che una funzione definita dall'utente in VBA. Oltre a utilizzare le funzioni integrate, Excel VBA ci consente di creare anche le nostre funzioni.

Codice:

 Funzione List_Of_Months () List_Of_Months = Array ("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov "," Dec ") Fine funzione 

Il codice seguente creerà una funzione che può inserire mesi nel nostro foglio Excel.

Copia e incolla il codice seguente nel tuo modulo.

Ora salva questo codice e chiudi l'editor VBA. Dopo aver chiuso l'editor VBA, vai al foglio di lavoro e digita la formula che abbiamo appena creato e dovresti vedere la formula chiamata List_Of_Months nel tuo foglio di lavoro.

Apri la formula e premi invio. Otterremo il nome del primo mese, ovvero Jan

Se inserisci la formula ancora una volta, otterremo solo gennaio non il mese successivo febbraio. Quindi seleziona prima 12 colonne in una riga.

Ora apri la formula nella cella D1.

Poiché abbiamo creato la formula con l'array, dobbiamo chiudere le formule solo come formula di array. Quindi tieni premuto Ctrl + Maiusc + Invio. Avremmo tutti i nomi di 12 mesi.

Cose da ricordare

  • Sono disponibili altri due tipi di array, ovvero array bidimensionali e array multidimensionali.
  • Gli array iniziano da 0 e non da 1. Zero indica la prima riga e la prima colonna.
  • L'array è un argomento importante che devi capire per passare al livello successivo.
  • La variabile array sarà quella che contiene molti dati ogni volta che avanza al livello successivo.
  • Redim viene utilizzato per memorizzare l'ultima lunghezza dell'array nel tipo di array dinamico.