VBA Array -variabler

Innholdsfortegnelse
Array Tutorials
Array Mega-Guideja
Få matrisestørrelse
Klar matrise
Filter Array
Transpose Array
Funksjon Return Array
Fjern duplikater

Vi dekket en introduksjon til variabler og konstanter i våre introduksjonsopplæringer for VBA -datatyper - variabler og konstanter. I denne opplæringen skal vi se på hva matrisevariabler er og hvordan du kan bruke dem i koden din.

Hva er en VBA Array -variabel?

En VBA -matrisvariabel lagrer en liste eller gruppe av elementer. En VBA -matrisvariabel kan også betraktes som en gruppe variabler, lagret under samme navn og med samme datatype. Alle elementene i matrisen må være av samme type. Et eksempel kan være en liste over frukt. En matrise kan lagre tekst eller tall. Du refererer til et element i en matrise ved å bruke indeksnummeret. Du kan deklarere en matrisevariabel ved hjelp av søkeordet Dim, Statisk, Offentlig eller Privat.

Variabel for statisk matrise

En variabel for statisk matrise har en fast størrelse eller et angitt antall elementer i listen. Du vil erklære en variabel for statisk matrise på følgende måte:

123456789 Sub DeclaringAStaticArrayVariable ()Dim sko (1 til 3) som strengSko (1) = "Støvler"Sko (2) = "Sandaler"Sko (3) = "Joggesko"Slutt Sub

Du kan vise et bestemt element i matrisen ved å referere til indeksnummeret som vist i koden nedenfor:

1234567891011 Sub DeclaringAStaticArrayVariable ()Dim sko (1 til 3) som strengSko (1) = "Støvler"Sko (2) = "Sandaler"Sko (3) = "Joggesko"Debug.Print Sko (1)Slutt Sub

Hvis du trykker på F5 for å kjøre koden din, får du følgende resultat i vinduet Umiddelbart:

Variabel dynamisk matrise

Størrelsen på en dynamisk matrisevariabel endres ved kjøretid og er med andre ord satt bare ved kjøretid. Du angir ikke opprinnelig antall elementer eller elementer i matrisen som for variabelen for statisk matrise, men du bruker søkeordet ReDim til å angi størrelsen eller antallet elementer som en dynamisk matrise har. Du kan deretter endre størrelsen på matrisen din ved hjelp av ReDim -søkeordet:

123456789101112131415161718192021 Sub DeclaringADynamicArrayVariable ()Dim forskjellige grønnsaker () som strengReDim forskjellige grønnsaker (3)forskjellige grønnsaker (1) = "gulrøtter"forskjellige grønnsaker (2) = "gresskar"forskjellige grønnsaker (3) = "butternut"MsgBox Join (forskjellige grønnsaker, vbCr)ReDim forskjellige grønnsaker (4)forskjellige grønnsaker (1) = "gulrøtter"forskjellige grønnsaker (2) = "gresskar"forskjellige grønnsaker (3) = "butternut"forskjellige grønnsaker (4) = "kål"MsgBox Join (forskjellige grønnsaker, vbCr)Slutt Sub

Når du kjører denne koden, får du meldingsboksen med alle elementene i matrisen som ble spesifisert ved hjelp av ReDim -søkeordet, så får du en annen meldingsboks som viser det oppdaterte antallet elementer i matrisen.

Resultatet er:

wave wave wave wave wave