Array VBA di Excel
In generale si suppone che una variabile contenga un singolo valore alla volta, ma quando vogliamo memorizzare più valori in una singola variabile, allora questo tipo di variabile è noto come variabile di matrice, per utilizzare una variabile di matrice in VBA dobbiamo dichiarare o definirlo prima, possiamo definire la variabile array con la sua lunghezza o senza la sua lunghezza.
Supponiamo di avere dati che contengono centinaia di righe e più colonne e di dover creare un codice che utilizzerà i dati. Ora, in questo caso, dobbiamo creare multipli della variabile che preleverà il valore dalle celle e lo darà al programma. Sarà molto faticoso creare così tanto di una variabile, e quindi in questi casi, usiamo Arrays in Excel.

Gli array mantengono il set di dati nella loro memoria e non hanno bisogno che noi dichiariamo la variabile per ciascuno dei valori che devono essere recuperati dai dati. La necessità di utilizzare gli array è dovuta al fatto che in una variabile Excel è progettata per contenere un valore alla volta. Tuttavia, quando più valori vengono memorizzati da una variabile, diventa un array.
- Creare un array è come creare un'unità di memoria separata che può contenere i dati al suo interno. Per creare un array, i dati devono essere dello stesso tipo.
- Gli array che diamo per eccellere devono corrispondere al tipo di dati che abbiamo. Supponiamo di avere dati che hanno solo righe, quindi in questo caso useremo l '"array unidimensionale" e se i dati contengono anche colonne, allora dobbiamo usare "array bidimensionali" poiché sono in grado di contenere solo i valori delle righe e delle colonne.
- Gli array devono anche funzionare per funzionare come array dinamici o array statici. Dato che diamo un intervallo dinamico alla formula, possiamo anche creare la variabile Arrays. Gli array dinamici avranno la funzionalità per includere un numero infinito di righe e colonne. Nel caso in cui gli array che abbiamo definito siano di tipo statico, possono contenere solo un numero limitato di righe e colonne come definito al momento della creazione dell'array.
Spiegazione
Array funziona sulla "regola matematica di una matrice". Cioè, identificano i dati solo in base alla loro posizione. Supponiamo di dover far capire a VBA che abbiamo bisogno di "20" nella cella "B3", quindi dobbiamo scrivere il codice della posizione come (3, 2) dove il primo valore rappresenta la posizione della riga e il secondo valore sta per il numero di colonna. In Excel World, questo codice di località è chiamato "Limite superiore" e "Limite inferiore". Per impostazione predefinita, la posizione in Excel inizia da uno e non da zero, quindi Excel vede "A1" come numero di riga 0 e non come numero di riga 1.
Allo stesso modo, le colonne iniziano da zero e non da uno.

Questi array possono essere definiti come array statici o dinamici. Se li definiamo come un array statico, significa che non possono contenere più delle variabili definite durante la codifica. Se non siamo sicuri del valore che deve essere memorizzato dagli array, creiamo array dinamici e, in questi casi, possono contenere un numero infinito di valori.
Ora, dopo aver selezionato il tipo di array richiesto, dovremo ora inserire i dati in questi array.
Questi dati devono essere forniti uno per uno per eccellere nei modi seguenti.

Dopo che i dati sono stati memorizzati in questi array, sono pronti per essere utilizzati come variabili nella codifica VBA.
Elenco dei primi 5 tipi di array
- Matrici statiche
- Array dinamico
- Un array dimensionale
- Array bidimensionale
- Array multidimensionale
Vediamoli ciascuno in dettaglio.
# 1 - Array statici
Un array che ha un conteggio predefinito del valore che può essere memorizzato in esso.

# 2 - Array dinamico
Matrice con un conteggio di valori non predefinito che può gestire.
# 3 - Array unidimensionale
Un array che può contenere solo dati da righe o colonne.


# 4 - Array bidimensionale
Un array che può memorizzare un valore dalle righe e dalle colonne.


# 5 - Array multidimensionale


Come utilizzare gli array in VBA (con esempi)?
Gli array possono essere utilizzati in molte situazioni, ma devono essere utilizzati quando il numero di variabili da dichiarare è elevato e non è possibile dichiararle.
Di seguito sono riportati alcuni esempi, ma prima di andare agli esempi, impareremo ad aprire l'editor VBA con il tasto di scelta rapida.

Questo aprirà l'editor VBA. Da lì, dobbiamo inserire il codice in "Questo foglio di lavoro".

Esempio 1
Scegli il tipo di array che desideri. Dovrebbe essere un array dinamico o statico?
Se abbiamo bisogno di un array dinamico, definiremo la dimensione come "variante".

Se abbiamo bisogno di un array statico, definiremo una dimensione come "Static".

Esempio n. 2
Definisci le colonne e le righe che desideri vengano memorizzate dall'array.
Se abbiamo inserito "1" tra parentesi, significa che l'array può contenere un valore di due righe poiché il conteggio Excel inizia da zero.

Se abbiamo bisogno anche di colonne e righe, allora dobbiamo definirle entrambe.
Qui "1 a 2" significa che due righe e "1 a 3" significa che tre colonne.

Qui abbiamo cambiato la regola di come Excel conta le righe e gli abbiamo chiesto di contare da "1" e non da zero.
Esempio n. 3
L'input dei dati nell'array.
I dati devono essere inseriti nelle celle in modo saggio. Qui i dati devono essere inseriti nella forma di (I, j) dove "I" indica la riga e "J" indica la colonna.
Quindi "a (1,1") significa quella cella "A1".

Esempio n. 4
Stiamo chiudendo il codice.
Dopo che i dati sono stati inseriti per l'array, l'ultimo passaggio sarà chiudere il codice.

Cose da ricordare
- Per impostazione predefinita, Excel conterà le righe a partire da zero. Ciò significa che "2" al posto di "I" significherà 3 righe e non 2 righe. Lo stesso vale per "J."
- I dati che devono essere inseriti per l'array devono essere avviati da (0, 0) cioè dalla prima riga e dalla prima colonna.
- Nel caso in cui stiamo usando gli array dinamici, allora questo avrà bisogno della funzione di "VBA REDIM" per definire il numero di righe e colonne che devono essere memorizzate.
- Nel caso della creazione di un array bidimensionale, dobbiamo usare "Integer" come dimensione.
- Il file excel deve essere salvato nella versione "Macro compatibile" altrimenti la codifica che abbiamo fatto in VBA svanirà e non verrà eseguita la prossima volta.