VBA -variabler

Innehållsförteckning
Array handledning
Array Mega-Guideja
Få matrisstorlek
Tydlig matris
Filtermatris
Transpose Array
Funktion Return Array
Ta bort dubbletter

Vi täckte en introduktion till variabler och konstanter i våra introduktionshandledning för VBA -datatyper - variabler och konstanter. I den här självstudien ska vi titta på vad matrisvariabler är och hur du kan använda dem i din kod.

Vad är en VBA Array -variabel?

En VBA -matrisvariabel lagrar en lista eller grupp av element. En VBA -arrayvariabel kan också ses som en grupp variabler, lagrade under samma namn och med samma datatyp. Alla element i matrisen måste vara av samma typ. Ett exempel skulle vara en lista över frukter. En array kan lagra text eller siffror. Du hänvisar till ett element i en array med dess indexnummer. Du kan deklarera en matrisvariabel med sökordet Dim, Statisk, Offentlig eller Privat.

Statisk matrisvariabel

En statisk matrisvariabel har en fast storlek eller ett antal objekt i listan. Du skulle deklarera en statisk matrisvariabel på följande sätt:

123456789 Sub DeclaringAStaticArrayVariable ()Dim skor (1 till 3) som strängSkor (1) = "Stövlar"Skor (2) = "Sandaler"Skor (3) = "Sneakers"Avsluta Sub

Du kan visa ett visst element i matrisen genom att hänvisa till dess indexnummer som visas i koden nedan:

1234567891011 Sub DeclaringAStaticArrayVariable ()Dim skor (1 till 3) som strängSkor (1) = "Stövlar"Skor (2) = "Sandaler"Skor (3) = "Sneakers"Debug.Print Shoes (1)Avsluta Sub

Om du trycker på F5 för att köra din kod skulle du få följande resultat i fönstret Omedelbart:

Dynamisk matrisvariabel

Storleken på en dynamisk matrisvariabel ändras vid körning och ställs in med andra ord endast vid körning. Du deklarerar inte initialt antalet objekt eller element i matrisen som för den statiska matrisvariabeln, men du använder nyckelordet ReDim för att ange storleken eller antalet objekt som en dynamisk matris har. Du kan sedan ändra storlek på din matris med hjälp av sökordet ReDim:

123456789101112131415161718192021 SubdeklarationADynamicArrayVariable ()Dimma olika grönsaker () som strängReDim olika grönsaker (3)olika grönsaker (1) = "morötter"olika grönsaker (2) = "pumpa"olika grönsaker (3) = "butternut"MsgBox Join (olika grönsaker, vbCr)ReDim olika grönsaker (4)olika grönsaker (1) = "morötter"olika grönsaker (2) = "pumpa"olika grönsaker (3) = "butternut"olika grönsaker (4) = "kål"MsgBox Join (olika grönsaker, vbCr)Avsluta Sub

När du kör den här koden får du meddelandefältet med alla objekt i matrisen som angavs med hjälp av nyckelordet ReDim, sedan får du en annan meddelanderuta som visar det uppdaterade antalet objekt i matrisen.

Resultatet är:

Du kommer att bidra till utvecklingen av webbplatsen, dela sidan med dina vänner

wave wave wave wave wave