VBA Loop Through Array / Pour chaque élément du tableau

Ce didacticiel vous apprendra à parcourir les tableaux en VBA.

Il existe deux manières principales de parcourir les tableaux à l'aide de VBA :

  • Pour chaque boucle - La boucle For Each bouclera à travers chaque élément du tableau.
  • Pour la prochaine boucle - La boucle For Next bouclera sur les positions de début et de fin spécifiées du tableau (nous pouvons utiliser les fonctions UBound et LBound pour parcourir tout le tableau).

Pour chaque élément du tableau

Les Pour chaque boucle vous permet de parcourir chaque élément du tableau.

12345678910111213141516171819 Sub LoopForArrayStatic()'déclarer un tableau variantDim strNames (1 à 4) en tant que chaîne'remplir le tableaustrNames(1) = "Bob"strNames(2) = "Pierre"strNames(3) = "Keith"strNames(4) = "Sam"'déclare une variante pour contenir l'élément du tableauÉlément tamisé comme variante'boucle sur tout le tableauPour chaque élément dans strNames'afficher l'élément dans la fenêtre de débogage.Debug.Print itemBoucleFin du sous-marin

La procédure ci-dessus va parcourir tous les noms du tableau.

Pour la prochaine boucle

La boucle For Next bouclera sur chaque élément à une position de début et de fin spécifiée du tableau.

Boucle à travers une partie du tableau

Vous pouvez spécifier manuellement les positions de début et de fin de votre boucle. Cela peut être approprié si vous connaissez la taille de votre tableau et/ou si vous ne souhaitez parcourir qu'une partie d'un tableau.

12345678910111213141516 Sous-boucleForNextStatic()'déclarer un tableau variantDim strNames (1 à 4) en tant que chaîne'remplir le tableaustrNames(1) = "Bob"strNames(2) = "Pierre"strNames(3) = "Keith"strNames(4) = "Sam"'déclare un entierDiminuer en tant qu'entier'boucle de la position 2 à la position 3 du tableauPour i = 2 à 3'afficher le nom dans la fenêtre immédiateDebug.Print strNames(i)Ensuite jeFin du sous-marin

Dans l'exemple ci-dessus, nous avons parcouru les positions 2 et 3 du tableau. La fenêtre immédiate renverrait les noms comme suit.

Boucle sur l'ensemble du tableau

Ensuite, nous utiliserons les fonctions UBound et LBound pour parcourir tout un tableau. Ceci est extrêmement utile si les positions de début et de fin du tableau peuvent changer (par exemple, un tableau dynamique) :

123456789101112131415161718 Sub LoopForNextDynamic()'déclarer un tableau variantDim strNames() en tant que chaîne'initialise le tableauReDim strNames (1 à 4)'remplir le tableaustrNames(1) = "Bob"strNames(2) = "Pierre"strNames(3) = "Keith"strNames(4) = "Sam"'déclare un entierDiminuer en tant qu'entier'boucle de la limite inférieure du tableau à la limite supérieure du tableau - le tableau entierPour i = LBound(strNames) À UBound(strNames)'afficher le nom dans la fenêtre immédiateDebug.Print strNames(i)Ensuite jeFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave