Excel VBA Arrays | Liste over topp 5 typer matriser (med eksempler)

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 skal bruke dataene. Nå, i dette tilfellet, må vi lage multipler av variabelen som vil hente verdien fra cellene og gi til programmet. Dette vil være veldig slitsomt å skape så mye variabel, og i slike tilfeller bruker vi 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, men når flere verdier lagres av en variabel, blir den 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 dynamisk område til formelen, kan vi også gjøre Arrays variabel. Dynamiske matriser vil ha funksjonaliteten til å inkludere uendelig antall rader og kolonner. I tilfelle hvis matriser som 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 arbeid med "Matematisk regel for 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", må vi skrive koden til stedet som (3, 2) der den første verdien står for plasseringen av rad og den andre verdien står for kolonnenummeret. I excel verden kalles denne koden for steder "ø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 holde mer enn variablene som definert mens de kodes. Hvis vi ikke er sikre på hvilken verdi som kreves for å bli lagret 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

  1. Statiske arrays
  2. Dynamic Array
  3. One Dimensional Array
  4. To dimensjonal matrise
  5. 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)?

Du kan laste ned denne Arrays i VBA Excel-mal her - Arrays i VBA Excel Template

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-editoren med hurtigtasten

Dette åpner VBA-editoren, derfra må vi legge inn koden i "Dette regnearket".

Eksempel 1

Velg hvilken type matrise du vil ha, skal 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 angitt "1" i parentes, betyr dette at matrisen kan holde 2 rader når excel-telling starter fra null.

Hvis vi trenger kolonner og rader også, 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 at cellen "A1"

Eksempel 4

Lukke 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 dynamiske matriser, vil dette trenge funksjonen “VBA REDIM” for å definere antall rader og kolonner som du trenger å huske.
  • 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.