VBA-variantarray

Inhoudsopgave

In deze zelfstudie wordt gedemonstreerd hoe u Variant-arrays kunt maken en ermee kunt werken.

Type matrixvariant

Een array is een type variabele. Net als bij andere variabelen, worden arrays gedeclareerd met behulp van de Dim Statement voor een array op module- of procedureniveau, of de instructie Public voor een array op globaal niveau.

Een variantarray is een array waarvan is gedeclareerd dat deze een variantgegevenstype heeft. Variante gegevenstypen kunnen elk type waarden opslaan: tekst, getallen, datums, tijd of objecten.

Variant array voordelen

Variant-arrays zijn speciaal omdat ze gemakkelijker zijn om mee te werken dan typische arrays.

  1. Ze zijn gemakkelijker aan te geven.
  2. U hoeft zich geen zorgen te maken over welk gegevenstype in de array wordt ingevoerd (bijvoorbeeld als een cel tekst of getallen bevat).
  3. U kunt de array vullen met de functie Array (als de grootte van de array niet is gedefinieerd bij declaratie).
  4. U hoeft de REDIM-instructie niet te gebruiken om de grootte van de array te wijzigen / opnieuw te vullen (als de arraygrootte niet is gedefinieerd wanneer deze wordt gedeclareerd).

Een variantarray declareren

Om een ​​variantarray te declareren, kun je deze eenvoudige instructie schrijven:

1 Dim varNames()

Dit wordt beschouwd als een dynamisch variant array.

Merk op dat u het gegevenstype niet hoeft op te geven (er wordt aangenomen dat het een variant is) of de arraygrootte.

Waarden toewijzen aan Variant Array

Variantarrays kunnen elk type waarden bevatten: tekst, getallen, datums, tijd of objecten.

Als u waarden aan een variantarray wilt toewijzen, kunt u de functie Array gebruiken:

12 'vul de array'varNames() = Array("Fred", "Wilma", "Barney", "Betty")

Deze methode is misschien gemakkelijker voor u dan de standaardmethode:

12345 'vul elk element in'varNames(0) = "Fred"varNames(1) = "Wilma"varNames(2) = "Barney"varNames(3) = "Betty"

Formaat van variantarray wijzigen

Dynamische variantarrays kunnen tijdens runtime van grootte veranderen. U hoeft de typische . niet te gebruiken Redim of Redim behouden instructies die nodig zijn om de grootte van standaardarrays te wijzigen.

Variant array voorbeeld

Als je dit allemaal samenvoegt, zal deze procedure een variantarray vullen en opnieuw vullen:

123456789101112 Sub TestArray()'declareer de variabele'Dim varNames() als variant'vul de array'varNames() = Array("Fred", "Wilma", "Barney", "Betty")'geef de waarden terug'MsgBox Join(varNames, ",")'vul de array opnieuw in'varNames() = Matrix(400, 500)'retourneer de nieuwe waarden'MsgBox Join(varNames, ",")Einde sub

We hebben de . bevolkt varNamen array met 4 namen, en dan met 2 nummers. De berichtvensters verschijnen als volgt.

U zal helpen de ontwikkeling van de site, het delen van de pagina met je vrienden

wave wave wave wave wave