Hvad er VBA Array?
Et array er defineret som en hukommelsesplacering, der er i stand til at lagre mere end en værdi. Værdierne skal alle være af samme datatype. Lad os sige, at du vil gemme en liste over dine yndlingsdrikke i en enkelt variabel, du kan bruge VBA-array til at gøre det.
Ved at bruge en matrix kan du henvise til de relaterede værdier med samme navn. Du kan bruge et indeks eller abonnement til at skelne dem fra hinanden. De enkelte værdier omtales som elementerne i Excel VBA-arrayet. De er sammenhængende fra indeks 0 til den højeste indeksværdi.
Denne vejledning antager, at du bruger Microsoft Excel version 2013. Viden gælder stadig også for andre versioner af Microsoft Excel.
I denne VBA-programmeringsvejledning lærer du-
- Hvad er fordelene ved arrays?
- Typer af arrays i VBA
- Sådan bruges Array i Excel VBA
- Test af vores ansøgning
Hvad er fordelene ved arrays?
Følgende er nogle af fordelene ved VBA-array-funktionen
- Gruppér logisk relaterede data sammen - lad os sige, at du vil gemme en liste over studerende. Du kan bruge en enkelt arrayvariabel, der har separate placeringer for elevkategorier, dvs. børnevenlig have, grundskole, gymnasium, gymnasium osv.
- Arrays gør det let at skrive kode, der kan vedligeholdes. For de samme logisk relaterede data giver det dig mulighed for at definere en enkelt variabel i stedet for at definere mere end en variabel.
- Bedre ydeevne - når en matrix er defineret, er det hurtigere at hente, sortere og ændre data.
Typer af arrays i VBA
VBA understøtter to typer arrays, nemlig;
- Statisk - Disse typer af arrays har et fast forudbestemt antal elementer, der kan lagres. Man kan ikke ændre størrelsen på datatypen for en statisk matrix. Disse er nyttige, når du vil arbejde med kendte enheder såsom antallet af dage i en uge, køn osv.
For eksempel : Dim ArrayMonth (12) Som streng
- Dynamisk - Disse typer arrays har ikke et fast forudbestemt antal elementer, der kan lagres. Disse er nyttige, når du arbejder med enheder, som du ikke kan forudbestemme antallet.
For eksempel : Dim ArrayMonth () som variant
Syntaks for at erklære arrays
Statiske arrays
Syntaksen til erklæring af STATIC- arrays er som følger:
Dim arrayName (n) as datatype
HER,
Kode | Handling |
Dim arrayName (n) datatype |
|
Dynamiske arrays
Syntaksen for at erklære DYNAMIC- arrays er som følger:
Dim arrayName() as datatypeReDim arrayName(4)
HER,
Kode | Handling |
Dim arrayName () datatype |
|
ReDim arrayName (4) |
|
Array Dimensions
En matrix kan være en dimension, to dimensioner eller flerdimensionel.
- Én dimension : I denne dimension bruger arrayet kun et indeks. For eksempel et antal mennesker i hver alder.
- To dimensioner : I denne dimension bruger arrayet to indekser. For eksempel et antal studerende i hver klasse. Det kræver antal klasser og elevnummer i hver klasse
- Multi-dimension : I denne dimension bruger arrayet mere end to indekser. For eksempel temperaturer om dagen. (30, 40, 20).
Sådan bruges Array i Excel VBA
Vi opretter en enkel applikation. Denne applikation udfylder et Excel-ark med data fra en matrixvariabel. I dette VBA Array-eksempel vil vi gøre følgende ting.
- Opret en ny Microsoft Excel-projektmappe, og gem den som Excel Makroaktiveret projektmappe (* .xlsm)
- Føj en kommandoknap til projektmappen
- Indstil kommando-knapens navn og billedegenskaber
- Programmering af VBA, der udfylder Excel-arket
Lad denne øvelse trin for trin,
Trin 1 - Opret en ny projektmappe
- Åbn Microsoft Excel
- Gem den nye projektmappe som VBA Arrays.xlsm
Trin 2 - Tilføj en kommandoknap
Bemærk: Dette afsnit antager, at du er bekendt med processen med at oprette en grænseflade i Excel. Hvis du ikke er fortrolig, skal du læse vejledningen VBA Excel Form Control & ActiveX Control. Det viser dig, hvordan du opretter grænsefladen
- Tilføj en kommandoknap til arket
- Indstil navnegenskaben til cmdLoadBeverages
- Indstil billedtekstegenskaben til Indlæs drikkevarer
Din GUI skal nu være som følger
Trin 3 - Gem filen
- Klik på knappen Gem som
- Vælg Excel Makro-aktiveret projektmappe (* .xlsm) som vist på billedet nedenfor
Trin 4 - Skriv koden
Vi skriver nu koden til vores ansøgning
- Højreklik på knappen Indlæs drikkevarer, og vælg visningskode
- Føj følgende kode til klikhændelsen i 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
HER,
Kode |
Handling |
Dim drikke (1 til 4) som streng |
|
Drikkevarer (1) = "Pepsi" |
|
Ark1.Celler (1, 1) .Value = "Mine yndlingsdrikke." |
|
Ark1.Celler (2, 1) .Værdi = Drikkevarer (1) |
|
Test af vores ansøgning
Vælg fanen udvikler, og sørg for, at knappen Designtilstand er "slukket". Indikatoren er, at den har en hvid baggrund og ikke en farvet (grønlig) baggrund. (Se billedet nedenfor)
Klik på knappen Indlæs drikkevarer
Du får følgende resultater
Download Excel, der indeholder ovenstående kode
Download ovenstående Excel-kode
Resumé
- En matrix er en variabel, der er i stand til at gemme mere end en værdi
- Excel VBA understøtter statiske og dynamiske arrays
- Arrays gør det let at skrive vedligeholdelig kode sammenlignet med at erklære mange variabler for data, der er logisk relateret.