VBA ArrayList

In vba haben wir Sammlungen von Datentypen, Funktionsvariablen und anderen wichtigen Anweisungen eingebaut, aber ähnlich haben wir eine Array-Liste in VBA, in der ein Benutzer eigene Sammlungen von Variablen und benutzerdefinierten Funktionen in einem Array ändern und einfügen kann Schlüsselwörter für die Array-Liste, um sie zu entwerfen.

Excel VBA ArrayList

VBA ArrayList ist eine Art Datenstruktur, die wir in VBA zum Speichern der Daten verwenden. ArrayList in Excel VBA ist eine Klasse, mit der ein Array von Werten erstellt wird. Dies ist anders als bei herkömmlichen Arrays, bei denen diese Arrays eine feste Länge haben, die Array-Liste jedoch keine feste Länge.

VAB ArrayList ist nicht Teil der VBA-Liste, sondern eine externe Bibliothek oder ein externes Objekt, für das wir die Referenz festlegen müssen, bevor wir darauf zugreifen können.

Arrays in VBA sind ein wesentlicher Bestandteil jeder Codierungssprache. Durch die Verwendung von Arrays in Excel können wir Daten mit einem einzigen Variablennamen speichern, indem wir die „Untergrenze und Obergrenze“ deklarieren.

Bei regulären Arrays müssen wir die Untergrenze und die Obergrenze des Arrays festlegen, die wir zum Zeitpunkt der Deklaration der Variablen bei statischen Arrays und bei dynamischen Arrays und bei dynamischen Arrays im Voraus festlegen müssen Array nach dem Deklarieren des Arrays mithilfe der Anweisung "ReDim" in VBA.

Wir haben jedoch noch eine Option, bei der wir die Anzahl der Werte "N" speichern können, ohne die Untergrenze und die Obergrenze anzugeben. In diesem Artikel zeigen wir Ihnen diese Option, z. B. "VBA ArrayList".

Führen Sie die folgenden Schritte aus, um den Verweis auf das VBA ArrayList-Objekt festzulegen.

Schritt 1: Gehen Sie zu Extras> Referenzen

Schritt 2: Das Referenzfenster der Objektbibliothek wird vor Ihnen angezeigt. Wählen Sie die Option " mscorlib.dll "

Schritt 3: Klicken Sie auch auf OK. Jetzt können wir auf die VBA ArrayList zugreifen.

Beispiele für VBA ArrayList in Excel

Unten finden Sie Beispiele für Excel VBA ArrayList.

Sie können diese VBA ArrayList Excel-Vorlage hier herunterladen - VBA ArrayList Excel-Vorlage

Beispiel 1 - Instanz von VBA ArrayList erstellen

Da Excel VBA ArrayList ein externes Objekt ist, müssen wir eine Instanz erstellen, um dieses verwenden zu können. Führen Sie die folgenden Schritte aus, um eine Instanz zu erstellen.

Schritt 1: Deklarieren Sie die Variable als " ArrayList ".

Code:

 Sub ArrayList_Example1 () Dim ArrayValues ​​As ArrayList End Sub 

Schritt 2: Da Array List ein Objekt ist, müssen wir eine neue Instanz erstellen.

Code:

 Sub ArrayList_Example1 () ArrayValues ​​als ArrayList dimmen Set ArrayValues ​​= New ArrayList End Sub 

Schritt 3: Jetzt können wir weiterhin Werte in der Array-Variablen speichern, indem wir die Methode „Hinzufügen“ verwenden. Im folgenden Bild habe ich drei Werte hinzugefügt.

Code:

 Sub ArrayList_Example1 () ArrayValues ​​als ArrayList dimmen Set ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'Erster Wert ArrayValues.Add "Good"' Zweiter Wert ArrayValues.Add "Morning" 'Three Value End Sub 

Jetzt haben wir drei Werte zugewiesen: Wie identifizieren wir den ersten und wie können wir die Werte anzeigen oder für unsere Bedürfnisse verwenden?

Wenn Sie sich an einen herkömmlichen Array-Typ erinnern, verweisen wir auf den ersten Array-Wert wie folgt: "ArrayName (0)"

In ähnlicher Weise können wir auch hier dieselbe Technik anwenden.

ArrayValue (0) = "Hallo"
ArrayValue (1) = "Gut"
ArrayValue (2) = "Morgen"

Lassen Sie dies im Meldungsfeld anzeigen.

Code:

 Sub ArrayList_Example1 () ArrayValues ​​als ArrayList-Set festlegen ArrayValues ​​= New ArrayList ArrayValues.Add "Hello" 'Erster Wert ArrayValues.Add "Good"' Zweiter Wert ArrayValues.Add "Morning" 'Drei Werte MsgBox ArrayValues ​​(0) & vbNewLine & ArrayValues ​​( 1) & vbNewLine & ArrayValues ​​(2) End Sub 

Führen Sie nun den Code mit der Taste F5 oder manuell aus. Im VBA-Meldungsfeld werden "Hallo", "Gut" und "Morgen" angezeigt.

Auf diese Weise können wir mit Array List Object eine beliebige Anzahl von Werten speichern.

Beispiel 2 - Speichern von Werten in Zellen mithilfe von VBA ArrayList

Sehen wir uns das Beispiel zum Speichern der zugewiesenen Werte in den Zellen im Arbeitsblatt an. Schauen Sie sich nun den folgenden VBA-Code an.

Code:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = Neue ArrayList-Namen der mobilen MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Hinzufügen von "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 End Sub 

Mit zwei Array-Listen habe ich Namen des Handys und Preise des Handys gespeichert. Jetzt müssen wir diese Werte in das Arbeitsblatt einfügen, dafür müssen wir Schleifen verwenden. Die folgende Schleife erledigt den Job für mich.

Unten finden Sie den Gesamtcode zum Speichern von Werten im Arbeitsblatt.

Code:

 Sub ArrayList_Example2 () Dim MobileNames As ArrayList, MobilePrice As ArrayList Dim i As Integer Dim k As Integer Set MobileNames = Neue ArrayList-Namen der mobilen MobileNames.Add "Redmi" MobileNames.Add "Samsung" MobileNames.Add "Oppo" MobileNames. Hinzufügen von "VIVO" MobileNames.Add "LG" Set MobilePrice = New ArrayList MobilePrice.Add 14500 MobilePrice.Add 25000 MobilePrice.Add 18500 MobilePrice.Add 17500 MobilePrice.Add 17800 k = 0 Für i = 1 bis 5 Zellen (i, 1) .Value = MobileNames (k) Cells (i, 2) .Value = MobilePrice (k) k = k + 1 Next i End Sub 

Wenn wir den Code manuell oder mit der Taste F5 ausführen, erhalten wir das folgende Ergebnis.