VBA-Sammlung - Wie erstelle ich ein Sammlungsobjekt in VBA?

Inhaltsverzeichnis

Excel VBA-Erfassungsobjekt

Bei der VBA-Codierung können wir neben der vorhandenen Sammlung von Elementen unter einer Gruppe unsere Sammlungsgruppen erstellen. In unseren zahlreichen Artikeln haben wir über Objektvariablen gesprochen, und in diesem Lernprogramm werden wir das VBA-Auflistungsobjekt im Detail durchgehen.

Wenn Sie unseren vorherigen Artikel „VBA-Arrays“ gelesen haben, ist dies für Sie viel einfacher zu verstehen. Arrays werden verwendet, um Variablen unter einem Dach zu gruppieren. In ähnlicher Weise wird Collection auch zum Speichern einer Gruppe von Variablen verwendet.

Sammlungen werden zum Speichern von Objekten verwendet. Sie sind weitaus flexibler als die VBA-Arrays, wohingegen Arrays feste Größenbeschränkungen haben, aber Leser haben zu keinem Zeitpunkt eine feste Größenbeschränkung und erfordern sogar keine manuelle Größenänderung.

Die VBA-Sammlung ist dem „VBA-Wörterbuch“ sehr ähnlich, für das Wörterbuch muss jedoch eine externe Objektreferenz unter dem Objektreferenzfenster eingerichtet werden. Bei VBA Dictionary müssen wir den Referenztyp als "Microsoft Scripting Runtime" festlegen, für Collection sind jedoch keine zusätzlichen Anpassungen erforderlich.

Wie erstelle ich ein Sammlungsobjekt in VBA?

Um zuerst mit der Sammlung zu beginnen, müssen wir die Variable als "Sammlung" deklarieren .

Code:

Sub Collection_Example () Dim Col As Collection End Sub

Da die Auflistung eine Objektvariable ist, müssen wir die Objektreferenz festlegen, indem wir eine neue Instanz erstellen.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = New Collection End Sub

Jetzt können wir mit der Variablen auf alle Methoden der Sammlungsvariablen "Col." zugreifen.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col. End Sub

Bevor wir diese Methoden verwenden, müssen wir eine Variable als Zeichenfolge deklarieren.

Code:

Sub Collection_Example () Dim Col als Sammlung Set Col = Neue Sammlung Dim ColResult As String End Sub

Verwenden Sie nun die Variable "Col", um die Methode "Add" auszuwählen.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add End Sub

Unter der Add-Methode haben wir bestimmte Parameter. Nehmen wir an, wir speichern mobile Markennamen mit ihrem durchschnittlichen Verkaufspreis auf dem Markt.

Unter Artikel gibt das Argument den Preis des Mobiltelefons ein.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add Item: = 15000, End Sub

Als nächstes unter Key Argument, geben Sie den mobilen Markennamen.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add Item: = 15000, Key: = "Redmi" End Sub

Für die Variable "ColResult" speichern wir das Ergebnis der Objektvariablen "Col".

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col (End Sub

Wenn Sie die Klammer der Variablen "Col" öffnen, sehen wir das Argument als Index. Für dieses Argument müssen wir den kritischen Argumentwert aus der Collection add-Methode angeben, dh den Namen der mobilen Marke.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") End Sub

Lassen Sie uns nun das Ergebnis im Meldungsfeld in VBA anzeigen.

Code:

Sub Collection_Example () Dim Col As Collection Set Col = Neue Sammlung Col.Add Item: = 15000, Key: = "Redmi" ColResult = Col ("Redmi") MsgBox ColResult End Sub

Ok, wir sind fertig, wenn wir den Code ausführen. Wir sollten den Preis der Mobilfunkmarke "Redmi" sehen.

Besseres Verständnis der Schlüssel- und Elementparameter

Ich bin sicher, dass es nicht einfach ist, die Parameter des Collection-Objekts zu verstehen. Lassen Sie mich Ihnen ein einfaches Beispiel erklären.

Stellen Sie sich vor, Sie haben ein Obstmenü mit Namen und Preis der Früchte. Angenommen, Sie suchen den Obstpreis „Apfel“ nach dem Namen der Frucht.

To search the price of the fruit, we need to mention the name of the fruit, i.e., in collection VBA language Name of the Fruit is Key, and the price of the fruit is “Item.”

It is like applying the VLOOKUP or HLOOKUP function, based on the lookup value, and we will fetch the required data from the database. Here lookup value is Key, and the result is Item.

Advanced Example

Imagine you are a store manager in one of the retail stores, and you are responsible for managing the customer queries. One such customer query is an inquiry about the product price.

It would help if you allowed the customer to search the price of the product with complete information. Similarly, you need to show the message in case of no data found. Below is the example code which will present the input box in front of the user. They require to enter the name of the product they are looking for. If the product is there in the collection, it will show the price of the mentioned product, or else it will show the message as “The Product you are searching for doesn’t exist.”

Code:

Sub Collection_Example2 () Dim ItemsCol As Collection Dim ColResult As String Set ItemsCol = Neue Sammlung ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Key: = "Wassermelone", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Geben Sie den Fruchtnamen ein ") Wenn ItemsCol (ColResult)" ", dann lautet MsgBox" Der Preis der Frucht "& ColResult &": "& ItemsCol (ColResult) Andernfalls existiert MsgBox" Preis der Frucht, nach der Sie suchen, nicht die Sammlung "End If End Sub

Interessante Beiträge...