Excel VBA-Auflistungsobjekt
Wir haben gesehen, dass das VBA-Wörterbuch und das VBA-Array eine ähnliche Verbindung zur VBA-Sammlung haben. In der VBA-Sammlung können wir eine eigene Sammlung von Gruppen erstellen und das Element und den Schlüssel bereitstellen, um den Wert darunter zu speichern. Während im VBA-Wörterbuch das Wörterbuch selbst in VBA erstellt wurde, wurde hier ein eigenes Wörterbuch erstellt, dessen Wort- und Wertedefinition dem normalen Wörterbuch entspricht. Dasselbe gilt für VBA-Arrays, in denen wir ein Sammlungsobjekt mit begrenzter Größe erstellt haben.
Der Vorteil von VBA Collection ist, dass wir die Größe eines Objekts, das wir hier definieren, nicht erweitern müssen. Für jedes Objekt, das in der VBA-Sammlung erstellt wird, gelten keine Einschränkungen. Und wir müssen die Größe eines Objekts nicht so ändern, als ob wir es für erforderlich halten.
Zusammen mit der Erstellung des Objekts "Sammlung hinzufügen" können auch die Objekte "Anzahl", "Element" und "Sammlung entfernen" verwendet werden.
Wie erstelle ich ein Sammlungsobjekt in Excel VBA?
Im Folgenden finden Sie verschiedene Beispiele zum Erstellen von Auflistungsobjekten in Excel mithilfe von VBA-Code.
Sie können diese Excel-Vorlage für die VBA-Sammlung hier herunterladen - Excel-Vorlage für die VBA-SammlungExcel VBA Collection - Beispiel # 1
In diesem Beispiel wird gezeigt, wie eine Objektsammlung in VBA erstellt wird. Führen Sie dazu die folgenden Schritte aus:
Schritt 1: Wechseln Sie zum VBA-Fenster, und wählen Sie auf der Registerkarte Einfügen die Option Modul aus (siehe Abbildung unten).
Schritt 2: Schreiben Sie die Unterkategorie der VBA-Sammlung in den gleichen Namen oder wählen Sie einen anderen Namen, wie es Ihnen gefällt.
Code:
Sub Excel_Collection1 () End Sub
Schritt 3: Definieren Sie nun eine Variable als Sammlung in einem beliebigen Namen, wie unten gezeigt.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection End Sub
Wir können ein beliebiges Wort, einen beliebigen Text oder einen beliebigen Namen für die Definition einer Variablen auswählen. Es wird jedoch empfohlen, diesen Namen zuerst bei der Ausführung der Funktion zu definieren.
Schritt 4: Legen Sie die definierte Variable als Neue Sammlung fest. Dies hilft beim Aktivieren und Festlegen des bereits definierten Objekts als Sammlung in Neue Sammlung.
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung End Sub
Schritt 5: In der Beschreibung der verschiedenen Sammlungsobjekte haben wir Add, Ite m, Count und Remove gesehen . Jetzt werden wir alle diese Objekte zum Speichern neuer Inhalte verwenden. Als Erstes weisen wir das ADD der definierten Variablen ColObject zu .
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add End Sub
Schritt 6: Nun wählen wir unter ITEM eine Sequenznummer, die beliebig sein kann. Hier wählen wir es als 1.
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add Item: = 1, End Sub
Schritt 7: In der Syntax der VBA-Sammlung müssen wir den KEY eingeben, für den wir den ITEM zuweisen können. Auch hier können wir alles auswählen, was im VBA-Repository hinzugefügt werden soll. Wir haben das Wort Newton hier betrachtet.
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add Item: = 1, Key: = "Newton" End Sub
Schritt 8: Wir können den Vorher- und Nachher-Teil der Syntax überspringen. Anschließend weisen wir den Schlüssel einer Collection-Objektvariablen zu.
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub
Schritt 9: Verwenden Sie ein Meldungsfeld, um den in der Objektvariablen Collection gespeicherten Wert anzuzeigen.
Code:
Sub Excel_Collection1 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub
Schritt 10: Kompilieren Sie nun den Code und führen Sie ihn aus, indem Sie auf die Schaltfläche Abspielen unterhalb der Menüleiste klicken.
Wir erhalten die Nachricht als 1. Dies bedeutet, dass sich der Artikel für den Schlüssel Newton an der ersten Position befindet.
Excel VBA Collection - Beispiel 2
Es gibt eine andere Methode oder einen anderen Weg, wie wir sehen können, welche Artikelnummer welchem Schlüssel zugeordnet ist. Wir können auch die Anzahl der Schlüssel zählen, die im VBA-Sammlungsobjekt gefüllt sind. Dieser Prozess ist dem in Beispiel 1 beschriebenen Prozess ziemlich ähnlich. Führen Sie dazu die folgenden Schritte aus:
Schritt 1: Schreiben Sie die Unterkategorie der VBA-Sammlung wie unten gezeigt.
Code:
Sub Excel_Collection2 () End Sub
Schritt 2: Betrachten Sie dieselbe Variable, die wir in Beispiel 1 als Sammlung gesehen haben, und setzen Sie sie als Neue Sammlung als ColObject.
Code:
Sub Excel_Collection2 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung End Sub
In diesem Beispiel ist ColObject die einzige Variable, anhand derer wir die Anzahl oder Reihenfolge der Definition von Item und Key ermitteln können.
Schritt 3: Ordnen Sie nun dem definierten Collection-Objekt die ADD-Funktion zu und wählen Sie einen beliebigen Wert nach Ihrer Wahl. Hier wählen wir 10 aus.
Code:
Sub Excel_Collection2 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add 10 End Sub
Schritt 4: Fügen Sie auf ähnliche Weise zwei oder drei weitere Sammlungsobjekte hinzu, wie unten gezeigt.
Code:
Sub Excel_Collection2 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub
Schritt 5: Um die Anzahl der in Collection Object verwendeten Elemente zu ermitteln, wird Debug-Druck verwendet.
Code:
Sub Excel_Collection2 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub
Der Hauptvorteil der Verwendung von Debug-Druck hier anstelle des Meldungsfelds besteht darin, dass wir die Anzahl zusammen mit dem Fehler abrufen können, wenn ein Fehler vorliegt. Für jeden Fehler erhalten wir eine Ausgabe als Null, während wir für den korrekten Prozess den tatsächlichen Wert erhalten.
Schritt 6: Um die Anzahl der Variablen ColObject zu erhalten, verwenden wir die Count-Funktion, die Teil einer eingebauten Funktion in der Liste ist.
Code:
Sub Excel_Collection2 () ColObject als Sammlungssatz dimmen ColObject = Neue Sammlung ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub
Schritt 7: Wählen Sie in der Menüoption Ansicht das Direktfenster aus, wie unten gezeigt. Oder wir können eine Tastenkombination wie Strg + G verwenden, um dieses Fenster zu erhalten.
Dies ist der Ort, an dem die Ausgabe unter Verwendung von Debug-Druck angezeigt wird.
Schritt 8: Kompilieren Sie nun den Code und führen Sie ihn aus, indem Sie auf die Schaltfläche Abspielen unterhalb der Menüleiste klicken. Wir werden sehen, dass im unmittelbaren Fenster die Anzahl der gesamten Objektsammlungen 3 beträgt.
Um nun zu testen, ob die erhaltene Anzahl korrekt ist oder nicht, löschen wir eine Zeile des Auflistungsobjekts oder konvertieren diese in Text, indem wir ein Apostroph (') einfügen und den Code erneut ausführen.
Wir erhalten die aktualisierte Anzahl als 2, was der Anzahl der Sammlungsobjekte 10 und 20 entspricht. Und wir können feststellen, dass die dritte Zeile des Auflistungsobjekts grün ist und dies das Zeichen dafür ist, dass Code in Text umgewandelt wird.
Vorteile der Excel VBA-Sammlung
- Wir müssen die Größe des von uns definierten Objekts nicht ändern.
- Wir können verschiedene Collection-Objekte verwenden, die in Excel VBA Collection integriert sind. Diese Objekte werden in anderen Funktionen wie VBA Dictionary oder VBA Array nicht angezeigt.
- Mit der VBA Collection können wir auch jede Art von Kunden- oder Produktdatenbank verwalten.
Dinge, an die man sich erinnern sollte
- Es wird empfohlen, den Debug-Druck anstelle der Meldungsbox zu verwenden. Auf diese Weise können wir den Fehler erkennen und beheben.
- Mit der VBA-Sammlung können wir verschiedene Arten von Objekten und Daten beliebiger Größe hinzufügen.
- In Item object function können wir eine beliebige Anzahl nach unserer Wahl definieren. Es kann Produktcode, Sequenz oder Preis sein, den wir sehen möchten.
- Durch das Speichern der Datei in Macro enable excel können wir den Code für weitere Zwecke beibehalten.
Empfohlene Artikel
Dies ist eine Anleitung zur VBA-Sammlung. In diesem Abschnitt wird erläutert, wie Sie ein Sammlungsobjekt in Excel mit VBA-Code erstellen. Außerdem werden praktische Beispiele und eine herunterladbare Excel-Vorlage vorgestellt. Sie können auch unsere anderen Artikelvorschläge durchgehen -
- Anleitung zur Verwendung der VBA-Array-Länge
- Wie berechne ich den Bereich in Excel?
- Tutorials zu VBA-Zellen
- PowerPivot in Excel