Excel VBA-arrays | Liste over top 5 typer arrays (med eksempler)

Excel VBA-arrays

Generelt skal en variabel have en enkelt værdi ad gangen, men når vi vil gemme flere værdier i en enkelt variabel, er en sådan type variabel kendt som matrixvariabel. For at bruge en matrixvariabel i VBA er vi nødt til at erklære eller definere det først, kan vi definere arrayvariablen med dens længde eller uden dens længde.

Antag, at hvis vi har data, der indeholder hundredvis af rækker og flere kolonner, og vi er nødt til at oprette en kode, der bruger dataene. Nu, i dette tilfælde er vi nødt til at oprette multipla af variablen, der henter værdien fra cellerne og giver til programmet. Dette vil være meget trættende at skabe så meget variabel, og derfor bruger vi i sådanne tilfælde Arrays i excel.

Arrays holder datasættet i deres hukommelse og behøver ikke, at vi erklærer variablen for hver af den værdi, der skal hentes fra dataene. Behovet for at bruge arrays skyldes, at i en excel-variabel er designet til at indeholde en værdi ad gangen, men når flere værdier er gemt af en variabel, bliver det en matrix.

  • Oprettelse af en matrix er som at oprette en separat hukommelsesenhed, der kan indeholde dataene i den. For at oprette en Array skal dataene være af samme type.
  • Arrays, som vi giver for at udmærke, skal svare til den type data, vi har. Antag, at hvis vi har data, der kun har rækker, så i dette tilfælde, vil vi bruge "One-dimensional array", og hvis data også indeholder kolonner, skal vi bruge "Two-dimensional arrays", da de kun er i stand til at holde værdierne fra rækkerne og kolonnerne.
  • Arrays skal også fungere for at fungere som dynamiske arrays eller statiske arrays. Da vi giver dynamisk rækkevidde til formlen, kan vi også gøre Arrays variabel. Dynamiske arrays har funktionaliteten til at inkludere uendeligt antal rækker og kolonner. Hvis de arrays, som vi har defineret, er af en statisk type, kan de kun indeholde et begrænset antal rækker og kolonner som defineret på tidspunktet for oprettelsen af ​​arrayet.

Forklaring

Array arbejde med "Matematisk regel for matrix", dvs. de identificerer dataene kun ved deres placering. Antag, at hvis vi skal få VBA til at forstå, at vi har brug for "20" i celle "B3", er vi nødt til at skrive koden for placeringen som (3, 2), hvor den første værdi står for placeringen af ​​række og anden værdi står for kolonnenummeret. I excel-verden kaldes denne kode for placeringer "Øvre grænse" og "nedre grænse". Som standard starter placeringen i excel fra en og ikke fra nul, så excel ser “A1” som række nummer 0 og ikke række nummer 1.

Tilsvarende starter kolonnerne fra nul og ikke fra en.

Disse arrays kan defineres som et statisk array eller dynamisk array. Hvis vi definerer dem som en statisk matrix, betyder det, at de ikke kan holde mere end variablerne som defineret under kodning af dem. Hvis vi ikke er sikre på, hvilken værdi der skal gemmes af arrays, opretter vi dynamiske arrays, og i sådanne tilfælde kan de indeholde uendelige antal værdier.

Efter at vi har valgt den type array, der kræves, bliver vi nu nødt til at indtaste dataene i disse arrays.

Disse data skal gives en efter en for at udmærke sig på nedenstående måder.

Når data er gemt i disse arrays, er de klar til brug som en variabel i VBA-kodningen.

Liste over top 5 typer arrays

  1. Statiske arrays
  2. Dynamisk matrix
  3. En dimensionel matrix
  4. To-dimensionel matrix
  5. Flerdimensionel matrix

Lad os se hver enkelt af dem i detaljer.

# 1 - Statiske arrays

Et array, der har et foruddefineret antal værdier, der kan lagres i det.

# 2 - Dynamisk matrix

Array med et ikke foruddefineret antal værdier, som det kan håndtere.

# 3 - One-dimensional Array

Et array, der kun kan indeholde data, enten fra rækker eller kolonner.

# 4 - To-dimensionel matrix

Et array, der kan gemme en værdi fra rækkerne og kolonnerne.

# 5 - Flerdimensionel matrix

Hvordan bruges Arrays i VBA (med eksempler)?

Du kan downloade denne arrays i VBA Excel-skabelon her - Arrays i VBA Excel-skabelon

Arrays kan bruges i mange situationer, men de skal bruges, når antallet af variabler, der skal deklareres, er stort i antal, og det ikke er muligt at erklære dem.

Nedenfor er nogle af eksemplerne, men inden vi går til eksemplerne, lærer vi at åbne VBA-editoren med genvejstasten

Dette åbner VBA-editoren, derfra skal vi indtaste koden i "Dette regneark".

Eksempel nr. 1

Vælg den type array, du ønsker, skal det være et dynamisk eller statisk array?

Hvis vi har brug for et dynamisk array, definerer vi dimensionen som "variant".

Hvis vi har brug for et statisk array, definerer vi en dimension som "Statisk".

Eksempel 2

Definer de kolonner og rækker, som matrixen skal gemme.

Hvis vi har indtastet "1" i parentes betyder det, at array kan holde 2 rækker værdi, da excel-tælling starter fra nul.

Hvis vi også har brug for kolonner og rækker, skal vi definere dem begge.

Her betyder "1 til 2", at to rækker og "1 til 3" betyder, at tre kolonner.

Her har vi ændret reglen om, hvordan excel tæller rækker og bedt den tælle fra "1" og ikke fra nul.

Eksempel 3

Input af data i arrayet.

Dataene skal indtastes celler klogt. Her skal dataene indtastes i form af (I, j) hvor "I" betyder rækken og "J" betyder kolonnen.

Så "a (1,1") betyder, at cellen "A1"

Eksempel 4

Lukning af koden.

Når dataene er indtastet for arrayet, er det sidste trin at lukke koden.

Ting at huske

  • Som standard tæller Excel rækkerne, der starter fra nul. Dette betyder, at "2" i stedet for "I" betyder 3 rækker og ikke 2 rækker. Det samme gælder for “J”.
  • De data, der skal indtastes for arrayet, skal startes fra (0, 0), der er fra første række og første kolonne.
  • Hvis vi bruger de dynamiske arrays, skal dette bruge funktionen "VBA REDIM" til at definere antallet af rækker og kolonner, der skal huskes.
  • I tilfælde af oprettelse af et todimensionelt array skal vi bruge "Integer" som dimension.
  • Excel-filen skal gemmes i den version, der er "Makro-kompatibel", ellers forsvinder kodningen, som vi har udført i VBA, og kører ikke næste gang.