Array VBA di Excel: che cos'è, come utilizzare & Tipi di array in VBA

Sommario:

Anonim

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

  1. 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.
  2. 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.
  3. 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
  1. Dichiara una variabile di matrice chiamata arrayName con una dimensione di ne tipo di dati. La dimensione si riferisce al numero di elementi che l'array può memorizzare.

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
  1. Dichiara una variabile di matrice chiamata arrayName senza specificare il numero di elementi
ReDim arrayName (4)
  1. Specifica la dimensione dell'array dopo che l'array è stato definito.

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

  1. Apri Microsoft Excel
  2. 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

  1. Aggiungi un pulsante di comando al foglio
  1. Imposta la proprietà name su cmdLoadBeverages
  2. Imposta la proprietà della didascalia su Carica bevande

La tua GUI dovrebbe ora essere la seguente

Passaggio 3: salvare il file

  1. Fare clic sul pulsante Salva con nome
  2. 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

  1. Fare clic con il tasto destro sul pulsante Carica bevande e selezionare Visualizza codice
  2. 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

  • Dichiara una variabile di matrice chiamata Drinks. Il primo indice di matrice è 1 e l'ultimo indice di matrice è 4.

Bevande (1) = "Pepsi"

  • Assegna il valore Pepsi al primo elemento dell'array. L'altro codice simile fa lo stesso per gli altri elementi dell'array.

Sheet1.Cells (1, 1) .Value = "Le mie bevande preferite."

  • Scrive il valore Le mie bevande preferite nell'indirizzo di cella A1. Sheet1 fa riferimento al foglio e Cells (1,1) fa riferimento alla riga numero 1 e alla colonna 1 (B)

Sheet1.Cells (2, 1) .Value = Bevande (1)

  • Scrive il valore dell'elemento della matrice con indice 1 nella riga numero due della colonna 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

  1. Un array è una variabile in grado di memorizzare più di un valore
  2. Excel VBA supporta array statici e dinamici
  3. Gli array semplificano la scrittura di codice gestibile rispetto alla dichiarazione di molte variabili per i dati correlati logicamente.