Objet de collection VBA Excel
Nous avons vu que le dictionnaire VBA et la baie VBA ont tous deux une connexion similaire avec la collection VBA. Dans VBA Collection, nous pouvons créer notre propre collection de groupe et fournir l'élément et la clé pour obtenir la valeur stockée sous celui-ci. Alors que dans VBA Dictionary, nous avions l'habitude de créer le dictionnaire lui-même dans VBA, ce qui crée notre propre dictionnaire qui a une définition de mot et de valeur comme le dictionnaire normal. Et même dans VBA Array, où nous avons utilisé pour créer un objet de collection avec une taille limitée.
L'avantage de VBA Collection est que nous n'avons pas besoin d'étendre la taille des objets que nous définissons ici. Quel que soit l'objet créé dans VBA Collection, il n'y a aucune limitation. Et nous n'avons pas à changer la taille d'un objet comme si nous pensons que cela nécessite.
Parallèlement à la création d'un objet Ajouter une collection, nous pouvons également utiliser les objets de collection Count, Item et Remove.
Comment créer un objet de collection dans Excel VBA?
Vous trouverez ci-dessous les différents exemples pour créer un objet de collection dans Excel à l'aide du code VBA.
Vous pouvez télécharger ce modèle Excel de collection VBA ici - Modèle Excel de collection VBACollection VBA Excel - Exemple # 1
Dans cet exemple, nous verrons comment créer une collection d'objets dans VBA. Pour cela, suivez les étapes ci-dessous:
Étape 1: Accédez à la fenêtre VBA, sous l'onglet de menu Insertion, sélectionnez Module comme indiqué ci-dessous.
Étape 2: Écrivez la sous-catégorie de VBA Collection sous le même nom ou nous pouvons choisir n'importe quel autre nom selon notre convenance.
Code:
Sub Excel_Collection1 () End Sub
Étape 3: Maintenant, définissez une variable comme Collection dans n'importe quel nom, comme indiqué ci-dessous.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection End Sub
Nous pouvons choisir n'importe quel mot, texte ou nom pour définir une variable, mais il est recommandé de le définir dans le processus d'exécution de la fonction en premier.
Étape 4: définissez la variable définie comme Nouvelle collection. Cela vous aidera à activer et à définir l'objet déjà défini en tant que collection sur nouvelle collection.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection End Sub
Étape 5: Nous avons vu dans la description des différents objets de collection comme Add, Ite m, Count et Remove . Nous allons maintenant utiliser tous ces objets pour stocker de nouveaux contenus. Tout d'abord, pour ajouter, nous allons affecter l' ADD à la variable définie ColObject .
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add End Sub
Étape 6: Maintenant, sous ITEM, nous choisirons un numéro de séquence qui peut être n'importe quoi. Ici, nous le sélectionnons comme 1.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, End Sub
Étape 7: Dans la syntaxe de la collection VBA, nous devons saisir la CLÉ pour laquelle nous pouvons attribuer l'ARTICLE. Ici aussi, nous pouvons choisir quoi que ce soit à ajouter dans le référentiel VBA. Nous avons considéré le mot Newton ici.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" End Sub
Étape 8: nous pouvons ignorer la partie avant et après de la syntaxe. Maintenant, après cela, nous allons assigner la clé à une variable d'objet Collection.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") End Sub
Étape 9: utilisez une boîte de message pour voir la valeur stockée dans la variable d'objet Collection.
Code:
Sub Excel_Collection1 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add Item: = 1, Key: = "Newton" ColResult = ColObject ("Newton") MsgBox ColResult End Sub
Étape 10: compilez maintenant le code et exécutez-le en cliquant sur le bouton Lecture situé sous la barre de menu.
Nous obtiendrons le message comme 1. Ce qui signifie que pour la clé Newton, l'article est situé en 1 ère position.
Collection VBA Excel - Exemple # 2
Il existe une autre méthode ou manière par laquelle nous pouvons voir quel numéro d'article est attribué à quelle clé. Nous pouvons également compter le nombre de clés remplies dans l'objet Collection VBA. Ce processus est assez similaire au processus que nous avons vu dans l'exemple-1. Pour cela, suivez les étapes ci-dessous:
Étape 1: Écrivez la sous-catégorie de la collection VBA comme indiqué ci-dessous.
Code:
Sub Excel_Collection2 () End Sub
Étape 2: Considérez la même variable que nous avons vue dans l'exemple-1 comme Collection et définissez-la comme Nouvelle Collection comme ColObject.
Code:
Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection End Sub
ColObject est la seule variable ici dans cet exemple par cette aide, nous verrons le nombre ou la séquence de définir l'élément et la clé.
Étape 3: Maintenant, à l'objet Collection défini, affectez la fonction ADD et choisissez n'importe quelle valeur selon votre choix. Ici, nous en sélectionnons 10.
Code:
Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 End Sub
Étape 4: De même, ajoutez 2 ou 3 objets de collection supplémentaires comme indiqué ci-dessous.
Code:
Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 End Sub
Étape 5: Pour connaître le nombre d'éléments utilisés dans Collection Object, nous utiliserons Debug print.
Code:
Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print End Sub
Le principal avantage de l'utilisation de l'impression de débogage ici au lieu de la boîte de message est que nous pourrions obtenir le nombre ainsi que l'erreur s'il y en a. Pour toute erreur, nous obtiendrons une sortie en tant que zéro et tandis que pour le processus correct, nous obtiendrons la valeur réelle.
Étape 6: Pour obtenir le nombre de variables ColObject, nous utiliserons la fonction Count qui fait partie d'une fonction intégrée dans la liste.
Code:
Sub Excel_Collection2 () Dim ColObject As Collection Set ColObject = New Collection ColObject.Add 10 ColObject.Add 20 ColObject.Add 30 Debug.Print ColObject.Count End Sub
Étape 7: Dans l'option de menu Affichage, sélectionnez la fenêtre Exécution comme indiqué ci-dessous. Ou nous pouvons utiliser une touche de raccourci comme Ctrl + G pour obtenir cette fenêtre.
C'est l'endroit où nous verrons la sortie à l'aide de l'impression de débogage.
Étape 8: compilez maintenant le code et exécutez-le en cliquant sur le bouton Lecture situé sous la barre de menu. Nous verrons, dans la fenêtre immédiate, le nombre total de collections d'objets arrive à 3 .
Maintenant, pour tester si le nombre obtenu est correct ou non, nous allons supprimer une ligne d'objet de collection ou le convertir en texte en plaçant une apostrophe (') et réexécuter le code.
Nous obtiendrons le nombre mis à jour comme 2, qui est le nombre d'objets de collection 10 et 20 Numéro d'article. Et nous pouvons remarquer que la 3 ème ligne de l'objet de collection est colorée en vert et c'est le signe de la conversion du code en texte.
Avantages de la collection Excel VBA
- Nous n'avons pas besoin de redimensionner l'objet que nous avons défini.
- Nous pouvons utiliser différents objets Collection qui sont intégrés dans Excel Collection VBA. Ces objets ne sont pas visibles dans d'autres fonctions telles que VBA Dictionary ou VBA Array.
- Par VBA Collection, nous pouvons également tout type de base de données de clients ou de produits.
Choses dont il faut se rappeler
- Il est recommandé d'utiliser Debug print au lieu de Message Box. Par cela, nous pourrions voir l'erreur et la corriger.
- Par VBA Collection, nous pouvons divers types d'objets et ajouter n'importe quelle taille de données.
- Dans la fonction objet Item, nous pouvons définir n'importe quel nombre selon notre choix. Il peut s'agir du code produit, de la séquence ou du prix que nous voulons voir.
- L'enregistrement du fichier dans Macro enable excel nous permettra de conserver le code pour plus loin.
Articles recommandés
Ceci est un guide de la collection VBA. Nous discutons ici comment créer un objet Collection dans Excel à l'aide du code VBA ainsi que des exemples pratiques et un modèle Excel téléchargeable. Vous pouvez également consulter nos autres articles suggérés -
- Guide d'utilisation de la longueur de tableau VBA
- Comment calculer la plage dans Excel?
- Tutoriels sur les cellules VBA
- PowerPivot dans Excel