Matrice dinamica in Excel VBA - Macro semplici di Excel

Sommario

Se la dimensione del tuo array aumenta e non vuoi correggere la dimensione dell'array, puoi usare il Parola chiave ReDim. Excel VBA quindi cambia automaticamente la dimensione dell'array.

Aggiungi alcuni numeri alla colonna A.

Posiziona un pulsante di comando sul foglio di lavoro e aggiungi le seguenti righe di codice:

1. Innanzitutto, dichiariamo l'array denominato numbers. Dichiarare anche due variabili di tipo Integer. Una taglia con nome e una con nome i.

Dim numbers() As Integer, size As Integer, i As Integer

Nota: l'array non ha ancora dimensioni. i numeri, la taglia e io sono scelti a caso qui, puoi usare qualsiasi nome. Ricorda di fare riferimento a questi nomi nel resto del codice.

2. Successivamente, determiniamo la dimensione dell'array e la memorizziamo nella variabile size. È possibile utilizzare la funzione del foglio di lavoro CountA per questo. Aggiungi la seguente riga di codice:

size = WorksheetFunction.CountA(Worksheets(1).Columns(1))

3. Ora conosciamo la dimensione dell'array e possiamo ridimensionarlo. Aggiungi la seguente riga di codice:

Numeri ReDim (dimensioni)

4. Successivamente, inizializziamo ogni elemento dell'array. Usiamo un ciclo.

Per i = 1 Alla taglia
numeri(i) = Celle(i, 1).Valore
Avanti io

5. Mostriamo l'ultimo elemento dell'array usando un MsgBox.

Numeri MsgBox (dimensioni)

6. Uscire dal Visual Basic Editor e fare clic sul pulsante di comando sul foglio.

Risultato:

7. Ora per vedere chiaramente perché questo è chiamato un array dinamico, aggiungi un numero alla colonna A.

8. Fare nuovamente clic sul pulsante di comando.

Conclusione: Excel VBA ha modificato automaticamente le dimensioni di questo array dinamico.

9. Quando si utilizza la parola chiave ReDim, si cancellano tutti i dati esistenti attualmente memorizzati nell'array. Ad esempio, aggiungi le seguenti righe di codice al codice creato in precedenza:

Numeri ReDim(3)
Numeri MsgBox(1)

Risultato:

L'array è vuoto.

10. Quando si desidera conservare i dati nell'array esistente quando lo si ridimensiona, utilizzare la parola chiave Preserve.

ReDim Preserva i numeri(3)
Numeri MsgBox(1)

Risultato:

Aiuterete lo sviluppo del sito, condividere la pagina con i tuoi amici

wave wave wave wave wave