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

Indholdsfortegnelse

Excel VBA-arrays

Generelt formodes en variabel at 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 skal vi 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. I dette tilfælde skal vi nu oprette multipla af variablen, der henter værdien fra cellerne og giver dem til programmet. Dette vil være meget trættende at skabe så meget af en 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 matrix 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 bruger vi "One-dimensional array", og hvis data også indeholder kolonner, så er vi nødt til at 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 et dynamisk område til formlen, kan vi også gøre Arrays variabel. Dynamiske arrays har funktionaliteten til at inkludere et 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 oprettelse af arrayet.

Forklaring

Array arbejder på “Matrixens matematiske regel.” Det vil sige, at de kun identificerer dataene efter deres placering. Antag, at hvis vi skal få VBA til at forstå, at vi har brug for "20" i celle "B3", så 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ækken og den anden værdi står for kolonnetallet. I excel-verden kaldes disse kodekoder for "ø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 indeholde mere end variablerne som defineret, mens de kodes. 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 er påkrævet, 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)?

Arrays kan bruges i mange situationer, men de skal bruges, når antallet af variabler, der skal deklareres, er stort, 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 ved hjælp af genvejstasten.

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

Eksempel nr. 1

Vælg den type matrix, 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 arrayet kan holde to rækkers værdi, da exceltæ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 data indtastes i form af (I, j), hvor "I" betyder rækken, og "J" betyder kolonnen.

Så "a (1,1") betyder den celle "A1."

Eksempel 4

Vi lukker koden.

Når data er indtastet for arrayet, vil det sidste trin være 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 "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, så er vi nødt til at bruge "Integer" som dimension.
  • Excel-filen skal gemmes i den version, der er "Makro-kompatibel", ellers forsvinder kodningen, som vi har gjort i VBA, og kører ikke næste gang.

Interessante artikler...