VBA Variant Array

Innehållsförteckning

Denna handledning visar hur du skapar och arbetar med Variant Arrays.

Array Variant Type

En array är en typ av variabel. Precis som med andra variabler deklareras matriser med hjälp av Dim Statement för en modul- eller procedurnivåmatris eller Public -satsen för en global nivåmatris.

En variantmatris är en array som deklareras ha en variantdatatyp. Variantdatatyper kan lagra alla typer av värden: text, siffror, datum, tid eller objekt.

Variant Array fördelar

Variantarrayer är speciella eftersom de är lättare att arbeta med än vanliga arrays.

  1. De är lättare att deklarera.
  2. Du behöver inte oroa dig för vilken datatyp som matas in i matrisen (t.ex. om en cell innehåller text eller siffror).
  3. Du kan fylla i matrisen med Array -funktionen (om matrisstorleken inte är definierad när den deklareras).
  4. Du behöver inte använda REDIM-satsen för att ändra storlek / fylla i matrisen igen (om matrisstorleken inte är definierad när den deklareras).

Förklarar en variantmatris

För att deklarera en variantmatris kan du skriva detta enkla uttalande

1 Dim varNames ()

Detta anses vara a dynamisk variantarray.

Lägg märke till att du inte behöver ange datatyp (det antas vara variant) eller matrisstorleken.

Tilldela värden till Variant Array

Variantarrayer kan innehålla alla typer av värden: text, siffror, datum, tid eller objekt.

För att tilldela värden till en variantmatris kan du använda matrisfunktionen:

12 'fyll i matrisenvarNames () = Array ("Fred", "Wilma", "Barney", "Betty")

Denna metod kan vara enklare för dig än att använda standardmetoden:

12345 'fylla i varje elementvarNames (0) = "Fred"varNames (1) = "Wilma"varNames (2) = "Barney"varNames (3) = "Betty"

Ändra storlek på variantarray

Dynamiska variantarrayer kan ändra storlek vid körning. Du behöver inte använda det typiska Redim eller Redim Preserve uttalanden som krävs för att ändra storlek på standardmatriser.

Variant Array Exempel

Om allt detta läggs samman kommer denna procedur att fylla i och återbefolka en variantmatris:

123456789101112 Sub TestArray ()'deklarera variabelnDim varNames () Som variant'fyll i matrisenvarNames () = Array ("Fred", "Wilma", "Barney", "Betty")'returnera värdenaMsgBox Join (varNames, ",")'återbefolka matrisenvarNames () = Array (400, 500)'returnera de nya värdenaMsgBox Join (varNames, ",")Avsluta Sub

Vi har befolkat varNames matris med 4 namn och sedan med 2 nummer. Meddelanderutorna visas enligt följande.

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

wave wave wave wave wave