Excel VBA Arrays
Generelt skal en variabel inneholde en enkelt verdi om gangen, men når vi vil lagre flere verdier i en enkelt variabel, er en slik type variabel kjent som arrayvariabel. For å bruke en arrayvariabel i VBA må vi erklære eller definere det først, kan vi definere matrixvariabelen med lengden eller uten lengden.
Anta at hvis vi har data som inneholder hundrevis av rader og flere kolonner, og vi må lage en kode som vil bruke dataene. Nå, i dette tilfellet, må vi lage multipler av variabelen som vil hente verdien fra cellene og gi dem til programmet. Dette vil være veldig anstrengende å skape så mye av en variabel, og derfor bruker vi i slike tilfeller Arrays i excel.

Arrays holder datasettet i minnet og trenger ikke at vi deklarerer variabelen for hver av verdien som må hentes fra dataene. Behovet for å bruke matriser er på grunn av det faktum at i en excel-variabel er designet for å holde en verdi om gangen. Når flere verdier lagres av en variabel, blir det imidlertid en matrise.
- Å lage en matrise er som å lage en egen minneenhet som kan holde dataene i den. For å lage en matrise må dataene være av samme type.
- Arrangementer som vi gir for å utmerke, må tilsvare typen data vi har. Anta at hvis vi har data som bare har rader, så i dette tilfellet vil vi bruke "Endimensjonalt array", og hvis data inneholder kolonner også, så må vi bruke "Two-dimensional arrays" da de bare er i stand til å holde verdiene fra radene og kolonnene.
- Arrays må også fungere for å fungere som dynamiske arrays eller statiske arrays. Når vi gir et dynamisk område til formelen, kan vi også gjøre Arrays variabel. Dynamiske matriser har funksjonaliteten til å inkludere et uendelig antall rader og kolonner. I tilfelle hvis matriser vi har definert er av statisk type, kan de bare ha et begrenset antall rader og kolonner som definert på tidspunktet for opprettelsen av matrisen.
Forklaring
Array arbeider på "Matematikkens regel for en matrise." Det vil si at de bare identifiserer dataene etter plassering. Anta at hvis vi må få VBA til å forstå at vi trenger "20" i celle "B3", så må vi skrive koden til stedet som (3, 2) der den første verdien står for plasseringen av raden og den andre verdi står for kolonnetallet. I excel verden kalles disse kodene for "øvre grense" og "nedre grense." Som standard starter plasseringen i excel fra en og ikke fra null, så excel ser “A1” som rad nummer 0 og ikke rad nummer 1.
På samme måte starter kolonnene fra null og ikke fra en.

Disse matriser kan defineres som en statisk matrise eller dynamisk matrise. Hvis vi definerer dem som en statisk matrise, betyr dette at de ikke kan ha mer enn variablene som definert mens de kodes. Hvis vi ikke er sikre på hvilken verdi som kreves for å huske av matriser, lager vi dynamiske matriser, og i slike tilfeller kan de ha uendelig mange verdier.
Nå, etter at vi har valgt hvilken type matrise som kreves, må vi nå legge inn dataene i disse matriser.
Disse dataene må gis en etter en for å utmerke seg på følgende måter.

Etter at data er lagret i disse matriser, er de klare til å brukes som en variabel i VBA-kodingen.
Liste over topp 5 typer arrays
- Statiske arrays
- Dynamic Array
- One Dimensional Array
- To dimensjonal matrise
- Flerdimensjonalt array
La oss se hver enkelt av dem i detalj.
# 1 - Statiske matriser
En matrise som har et forhåndsdefinert antall verdier som kan lagres i den.

# 2 - Dynamisk matrise
Array med et ikke forhåndsdefinert antall verdier det kan takle.
# 3 - Endimensjonal matrise
En matrise som bare kan inneholde data fra rader eller kolonner.


# 4 - To-dimensjonal matrise
En matrise som kan lagre en verdi fra radene og kolonnene.


# 5 - Flerdimensjonal matrise


Hvordan bruke Arrays i VBA (med eksempler)?
Arrays kan brukes i mange situasjoner, men de må brukes når antall variabler som skal deklareres er stort i antall, og det ikke er mulig å erklære dem.
Nedenfor er noen av eksemplene, men før vi går til eksemplene, lærer vi å åpne VBA-redigereren med hurtigtasten.

Dette åpner VBA-redaktøren. Derfra må vi legge inn koden i "Dette regnearket."

Eksempel 1
Velg hvilken type matrise du vil ha. Bør det være en dynamisk eller statisk matrise?
Hvis vi trenger en dynamisk matrise, vil vi definere dimensjonen som "variant".

Hvis vi trenger en statisk matrise, vil vi definere en dimensjon som "Statisk".

Eksempel 2
Definer kolonnene og radene du vil at matrisen skal lagre.
Hvis vi har skrevet inn "1" i parentes, betyr dette at matrisen kan ha to raders verdi når excel-telling starter fra null.

Hvis vi også trenger kolonner og rader, må vi definere dem begge.
Her betyr "1 til 2" at to rader, og "1 til 3" betyr at tre kolonner.

Her har vi endret regelen om hvordan excel teller rader og ba den telle fra “1” og ikke fra null.
Eksempel 3
Inndata av data i matrisen.
Dataene må angis celler klokt. Her skal dataene legges inn i form av (I, j) der "I" betyr rad, og "J" betyr kolonnen.
Så "a (1,1") betyr den cellen "A1."

Eksempel 4
Vi lukker koden.
Etter at dataene er lagt inn for matrisen, vil det siste trinnet være å lukke koden.

Ting å huske
- Som standard teller Excel radene fra null. Dette betyr at "2" i stedet for "I" betyr 3 rader og ikke 2 rader. Det samme gjelder “J.”
- Dataene som må legges inn for matrisen må startes fra (0, 0) som er fra første rad og første kolonne.
- I tilfelle hvis vi bruker de dynamiske matriser, vil dette trenge funksjonen “VBA REDIM” for å definere antall rader og kolonner som må lagres.
- I tilfelle å lage en todimensjonal matrise, må vi bruke "Heltall" som dimensjon.
- Excel-filen må lagres i versjonen som er "Makrokompatibel", ellers vil kodingen vi har gjort i VBA forsvinne og ikke kjøre neste gang.