VBA – Variant Array
In this Article
In diesem Tutorial zeigen wir Ihnen, wie Sie Variant Arrays erstellen und damit arbeiten können.
Der Typ Variant Array
Ein Array ist ein Typ von Variable. Wie bei anderen Variablen werden Arrays mit der Dim-Anweisung auf Modul- oder Prozedurebene oder sie werden mit der Public-Anweisung auf globaler Ebene deklariert.
Ein Variant Array ist ein Array, das mit einem Variant-Datentyp deklariert ist. Variant-Datentypen können alle Arten von Werten speichern: Text, Zahlen, Daten, Zeit oder Objekte.
Vorteile von Variant Arrays
Variant Arrays sind etwas Besonderes, weil sie einfacher zu handhaben als typische Arrays sind.
- Sie sind leichter zu deklarieren.
- Sie müssen sich nicht darum kümmern, welcher Datentyp in das Array eingegeben wird (z. B. ob eine Zelle Text oder Zahlen enthält).
- Sie können das Array mit der Array-Funktion auffüllen (wenn die Array-Größe bei der Deklaration nicht definiert wurde).
- Sie müssen die REDIM-Anweisung nicht verwenden, um die Größe des Arrays zu ändern bzw. es neu aufzufüllen (wenn die Array-Größe bei der Deklaration nicht festgelegt wurde).
Ein Variant Array deklarieren
Um ein Variant Array zu deklarieren, können Sie diese einfache Anweisung schreiben
Dim varNamen()
Dies wird als dynamisches Variant Array betrachtet.
Beachten Sie, dass Sie weder den Datentyp (es wird angenommen, dass er Variant ist) noch die Array-Größe angeben müssen.
Einem Variant Array Werte zuweisen
Variant Arrays können beliebige Werte enthalten: Text, Zahlen, Daten, Zeit oder Objekte.
Um einem Variant Array Werte zuzuweisen, können Sie die Array-Funktion verwenden:
'Das Array auffüllen
varNamen() = Array("Fred", "Wilma", "Barney", "Betty")
Diese Methode kann für Sie einfacher als die Standardmethode sein:
'Jeden Element füllen
varNames(0) = "Fred"
varNames(1) = "Wilma"
varNames(2) = "Barney"
varNames(3) = "Betty"
Die Größe eines Variant Arrays ändern
Dynamische Variant Arrays können ihre Größe zur Laufzeit ändern. Sie müssen nicht die typischen Anweisungen Redim- oder Redim Preserve, die zur Größenänderung von Standard-Arrays erforderlich sind, verwenden.
Beispiel für ein Variant Array
Zusammenfassend lässt sich sagen, dass diese Prozedur ein Variant Array auffüllt und wieder auffüllt:
Sub ArrayTest()
'Die Variable deklarieren
Dim varNamen() As Variant
'Das Array auffüllen
varNamen() = Array("Fred", "Wilma", "Barney", "Betty")
'Die Werte zurückgeben
MsgBox Join(varNamen, ",")
'Das Array wieder auffüllen
varNamen() = Array(400, 500)
'Die Werte zurückgeben
MsgBox Join(varNamen, ",")
End Sub
Wir haben das Array varNamen mit 4 Namen und dann mit 2 Zahlen aufgefüllt. Die Meldungsfelder werden wie folgt angezeigt.