Collection VBA - Comment créer un objet de collection dans VBA?

Table des matières

Objet de collection Excel VBA

Dans le codage VBA, en dehors de la collection existante d'éléments sous un groupe, nous pouvons créer nos groupes de collections. Dans nos nombreux articles, nous avons parlé des variables d'objet, et dans ce tutoriel, nous allons parcourir l'objet de collection VBA en détail.

Si vous avez parcouru notre article précédent «VBA Arrays», cela vous sera beaucoup plus facile à comprendre. Les tableaux sont utilisés pour regrouper les variables sous un même toit; de même, Collection est également utilisé pour stocker un groupe de variables.

Les collections sont utilisées pour stocker des objets. Ils sont beaucoup plus flexibles que les tableaux VBA, alors que les tableaux ont des limites de taille fixes, mais les lecteurs n'ont pas de limite de taille fixe à un moment donné et ne nécessitent même pas de redimensionnement manuel.

La collection VBA est très similaire au «dictionnaire VBA», mais le dictionnaire nécessite qu'une référence d'objet externe soit configurée sous la fenêtre de référence d'objet. Avec le dictionnaire VBA, nous devons définir le type de référence comme «Microsoft Scripting Runtime», mais Collection ne nécessite aucun accessoire supplémentaire.

Comment créer un objet de collection dans VBA?

Pour commencer avec la collection, nous devons déclarer la variable comme «Collection».

Code:

Sub Collection_Example () Dim Col As Collection End Sub

Puisque la collection est une variable d'objet, nous devons définir la référence d'objet en créant une nouvelle instance.

Code:

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

Maintenant, avec la variable, nous pouvons accéder à toutes les méthodes de la variable de collection «Col».

Code:

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

Avant d'utiliser ces méthodes, nous devons déclarer une variable sous forme de chaîne.

Code:

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

Utilisez maintenant la variable «Col» pour choisir la méthode «Ajouter».

Code:

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

Sous la méthode Add, nous avons des paramètres spécifiques. Supposons que nous stockions les noms de marques mobiles avec leur prix de vente moyen sur le marché.

Sous Article, l'argument entre le prix du mobile.

Code:

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

Ensuite, sous Argument clé , entrez le nom de la marque mobile.

Code:

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

Pour la variable «ColResult», nous stockerons le résultat de la variable objet «Col».

Code:

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

Lorsque vous ouvrez la parenthèse de la variable «Col», nous pouvons voir l'argument comme Index. Pour cet argument, nous devons fournir la valeur de l'argument critique de la méthode d'ajout de Collection, c'est-à-dire le nom de la marque mobile.

Code:

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

Maintenant, montrons le résultat dans la boîte de message dans VBA.

Code:

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

Ok, nous avons terminé lorsque nous exécutons le code. Nous devrions voir le prix de la marque mobile, "Redmi".

Meilleure compréhension des paramètres clés et des éléments

Je suis sûr qu'il n'est pas facile de comprendre les paramètres de l'objet Collection. Laissez-moi vous expliquer un exemple simple.

Imaginez que vous ayez un menu de fruits avec leur nom et le prix des fruits. Supposons que vous recherchez le prix du fruit «pomme» par le nom du fruit.

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 = New Collection ItemsCol.Add Key: = "Apple", Item: = 150 ItemsCol.Add Key: = "Orange", Item: = 75 ItemsCol.Add Clé: = "Water Melon", Item: = 45 ItemsCol.Add Key: = "Mush Millan", Item: = 85 ItemsCol.Add Key: = "Mango", Item: = 65 ColResult = Application.InputBox (Prompt: = "Please Entrez le nom du fruit ") If ItemsCol (ColResult)" "Then MsgBox" Le prix du fruit "& ColResult &" est: "& ItemsCol (ColResult) Else MsgBox" Le prix du fruit que vous recherchez n'existe pas dans la collection "End If End Sub

Articles intéressants...