Cos'è VBA Array?
Un array è definito come una posizione di memoria in grado di memorizzare più di un valore. I valori devono essere tutti dello stesso tipo di dati. Supponiamo che tu voglia memorizzare un elenco delle tue bevande preferite in una singola variabile, puoi utilizzare l'array VBA per farlo.
Utilizzando un array, è possibile fare riferimento ai valori correlati con lo stesso nome. Puoi usare un indice o un pedice per distinguerli. I singoli valori sono indicati come gli elementi della matrice VBA di Excel. Sono contigui dall'indice 0 al valore di indice più alto.
Questo tutorial presuppone che tu stia utilizzando Microsoft Excel versione 2013. La conoscenza si applica anche ad altre versioni di Microsoft Excel.
In questo tutorial sulla programmazione VBA imparerai-
- Quali sono i vantaggi degli array?
- Tipi di array in VBA
- Come utilizzare Array in Excel VBA
- Testare la nostra applicazione
Quali sono i vantaggi degli array?
Di seguito sono riportati alcuni dei vantaggi offerti dalla funzione array VBA
- Raggruppa i dati logicamente correlati, supponiamo che tu voglia memorizzare un elenco di studenti. È possibile utilizzare una singola variabile di matrice che ha posizioni separate per le categorie di studenti, ad es. Kinder garden, primaria, secondaria, scuola superiore, ecc.
- Gli array semplificano la scrittura di codice gestibile. Per gli stessi dati logicamente correlati, consente di definire una singola variabile, invece di definire più di una variabile.
- Prestazioni migliori: una volta definito un array, è più veloce recuperare, ordinare e modificare i dati.
Tipi di array in VBA
VBA supporta due tipi di array e cioè;
- Statico : questi tipi di array hanno un numero predeterminato di elementi che possono essere memorizzati. Non è possibile modificare la dimensione del tipo di dati di uno Static Array. Questi sono utili quando vuoi lavorare con entità conosciute come il numero di giorni in una settimana, sesso, ecc.
Ad esempio : Dim ArrayMonth (12) As String
- Dinamico : questi tipi di array non hanno un numero predeterminato fisso di elementi che possono essere memorizzati. Sono utili quando si lavora con entità di cui non è possibile predeterminare il numero.
Ad esempio : Dim ArrayMonth () As Variant
Sintassi per dichiarare gli array
Matrici statiche
La sintassi per la dichiarazione di array STATIC è la seguente:
Dim arrayName (n) as datatype
QUI,
Codice | Azione |
Dim arrayName (n) tipo di dati |
|
Matrici dinamiche
La sintassi per la dichiarazione di array DYNAMIC è la seguente:
Dim arrayName() as datatypeReDim arrayName(4)
QUI,
Codice | Azione |
Dim arrayName () tipo di dati |
|
ReDim arrayName (4) |
|
Dimensioni array
Un array può essere una dimensione, due dimensioni o multidimensionale.
- Una dimensione : in questa dimensione, la matrice utilizza un solo indice. Ad esempio, un numero di persone di ogni età.
- Due dimensioni : in questa dimensione, l'array utilizza due indici. Ad esempio, un numero di studenti in ogni classe. Richiede il numero di classi e il numero di studenti in ogni classe
- Multidimensionale : in questa dimensione, la matrice utilizza più di due indici. Ad esempio, le temperature durante il giorno. (30, 40, 20).
Come utilizzare Array in Excel VBA
Creeremo una semplice applicazione. Questa applicazione popola un foglio Excel con i dati di una variabile di matrice. In questo esempio di array VBA, faremo le seguenti cose.
- Creare una nuova cartella di lavoro di Microsoft Excel e salvarla come cartella di lavoro con attivazione macro di Excel (* .xlsm)
- Aggiungi un pulsante di comando alla cartella di lavoro
- Impostare le proprietà del nome e della didascalia del pulsante di comando
- Programmazione del VBA che popola il foglio Excel
Lascia fare questo esercizio passo dopo passo,
Passaggio 1: creare una nuova cartella di lavoro
- Apri Microsoft Excel
- Salva la nuova cartella di lavoro come VBA Arrays.xlsm
Passaggio 2: aggiungere un pulsante di comando
Nota: questa sezione presume che tu abbia familiarità con il processo di creazione di un'interfaccia in Excel. Se non hai familiarità, leggi il tutorial VBA Excel Form Control & ActiveX Control. Ti mostrerà come creare l'interfaccia
- Aggiungi un pulsante di comando al foglio
- Imposta la proprietà name su cmdLoadBeverages
- Imposta la proprietà della didascalia su Carica bevande
La tua GUI dovrebbe ora essere la seguente
Passaggio 3: salvare il file
- Fare clic sul pulsante Salva con nome
- Scegli la cartella di lavoro con attivazione macro di Excel (* .xlsm) come mostrato nell'immagine seguente
Passaggio 4: scrivere il codice
Ora scriveremo il codice per la nostra applicazione
- Fare clic con il tasto destro sul pulsante Carica bevande e selezionare Visualizza codice
- Aggiungere il codice seguente all'evento click di cmdLoadBeverages
Private Sub cmdLoadBeverages_Click()Dim Drinks(1 To 4) As StringDrinks(1) = "Pepsi"Drinks(2) = "Coke"Drinks(3) = "Fanta"Drinks(4) = "Juice"Sheet1.Cells(1, 1).Value = "My Favorite Beverages"Sheet1.Cells(2, 1).Value = Drinks(1)Sheet1.Cells(3, 1).Value = Drinks(2)Sheet1.Cells(4, 1).Value = Drinks(3)Sheet1.Cells(5, 1).Value = Drinks(4)End Sub
QUI,
Codice |
Azione |
Bevande soffuse (da 1 a 4) come spago |
|
Bevande (1) = "Pepsi" |
|
Sheet1.Cells (1, 1) .Value = "Le mie bevande preferite." |
|
Sheet1.Cells (2, 1) .Value = Bevande (1) |
|
Testare la nostra applicazione
Seleziona la scheda sviluppatore e assicurati che il pulsante della modalità di progettazione sia "disattivato". L'indicatore è che avrà uno sfondo bianco e non uno sfondo colorato (verdastro). (Vedi immagine sotto)
Fare clic sul pulsante Carica bevande
Otterrai i seguenti risultati
Scarica Excel contenente il codice sopra
Scarica il codice Excel sopra
Sommario
- Un array è una variabile in grado di memorizzare più di un valore
- Excel VBA supporta array statici e dinamici
- Gli array semplificano la scrittura di codice gestibile rispetto alla dichiarazione di molte variabili per i dati correlati logicamente.