VBA Variant Array

Innholdsfortegnelse

Denne opplæringen vil demonstrere hvordan du lager og arbeider med Variant Arrays.

Array Variant Type

En matrise er en type variabel. Som med andre variabler deklareres matriser ved hjelp av Dim Statement for en modul eller prosedyrenivå array, eller Public statement for en global level array.

En variantmatrise er en matrise som er erklært å ha en variantdatatype. Variantdatatyper kan lagre alle typer verdier: tekst, tall, datoer, tid eller objekter.

Variant Array Fordeler

Variantarrayer er spesielle fordi de er lettere å jobbe med enn typiske arrays.

  1. De er lettere å erklære.
  2. Du trenger ikke å bekymre deg for hvilken datatype som legges inn i matrisen (f.eks. Hvis en celle inneholder tekst eller tall).
  3. Du kan fylle ut matrisen med Array -funksjonen (hvis matrisestørrelsen ikke er definert når den deklareres).
  4. Du trenger ikke å bruke REDIM-setningen for å endre størrelsen / fylke ut matrisen igjen (hvis matrisestørrelsen ikke er definert når den deklareres).

Deklarere en variant

For å deklarere en variantmatrise, kan du skrive denne enkle uttalelsen

1 Dim varNames ()

Dette regnes som a dynamisk variantarray.

Legg merke til at du ikke trenger å spesifisere datatypen (det antas å være variant) eller matrisestørrelsen.

Tilordne verdier til Variant Array

Variantarrayer kan inneholde alle typer verdier: tekst, tall, datoer, tid eller objekter.

For å tilordne verdier til en variantmatrise, kan du bruke matrisefunksjonen:

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

Denne metoden kan være lettere for deg enn å bruke standardmetoden:

12345 'fyll ut hvert elementvarNames (0) = "Fred"varNames (1) = "Wilma"varNames (2) = "Barney"varNames (3) = "Betty"

Endre størrelse Variant Array

Dynamiske variantarrayer kan endre størrelse ved kjøretid. Du trenger ikke å bruke det typiske Redim eller Redim Preserve uttalelser som kreves for å endre størrelsen på standard arrays.

Eksempel på variantarray

Ved å sette alt dette sammen, vil denne prosedyren fylle ut og repopulere en variantmatrise:

123456789101112 Sub TestArray ()'erklærer variabelenDim varNames () Som variant'fyll ut matrisenvarNames () = Array ("Fred", "Wilma", "Barney", "Betty")'returner verdieneMsgBox Join (varNames, ",")'befolke matrisenvarNames () = Array (400, 500)'returner de nye verdieneMsgBox Join (varNames, ",")Slutt Sub

Vi har befolket varNames matrise med 4 navn, og deretter med 2 tall. Meldingsboksene vises som følger.

Du vil bidra til utvikling av området, dele siden med vennene dine

wave wave wave wave wave