Ce didacticiel montrera comment remplir un tableau avec une plage de cellules.
Attribuer une plage à un tableau
Nous pouvons facilement remplir un tableau Variant avec une plage de cellules.
Attribuer une valeur à partir d'une seule colonne
Cet exemple va parcourir Range ("A1:A10"), en attribuant les valeurs des cellules à un tableau :
12345678910111213 | SubTestArrayValuesSingle()'Déclare le tableau en tant que tableau variantDim arRng() comme variante'Déclare l'entier pour stocker le nombre de lignesDim iRw en tant qu'entier'Attribuer une plage à une variable de tableauarRng = Plage("A1:A10")'boucle à travers les lignes - 1 à 10Pour iRw = 1 à UBound(arRng)'afficher le résultat dans la fenêtre immédiateDebug.Print arRng(iRw , 1)iRw suivantFin du sous-marin |
Les UBound est utilisé pour définir la limite supérieure du tableau (par exemple 10) afin que la boucle sache boucler 10 fois.
LesDéboguer.Imprimer fonction vous montrera la valeur contenue dans le tableau dans la fenêtre immédiate.
Attribuer une valeur à partir de plusieurs colonnes
123456789101112131415161718 | Sub TestArrayValuesMultiple()'Déclare le tableau en tant que tableau variantDim arRng() comme variante'Déclare l'entier pour stocker le nombre de lignesDim iRw en tant qu'entier'Déclare l'entier pour stocker le nombre de colonnesDim iCol en tant qu'entier'Attribuer une plage à une variable de tableauarRng = Plage("A1:C10")'boucle à travers les lignes - 1 à 10Pour iRw = 1 à UBound(arRng,1)'maintenant - tandis que dans la ligne 1, parcourez les 3 colonnesPour iCol = 1 à UBound(arRng,2)'afficher le résultat dans la fenêtre immédiateDebug.Print arRng(iRw, iCol)iCol suivantiRw suivantFin du sous-marin |
Dans le code ci-dessus, nous avons rempli le tableau avec les valeurs de Range ("A1:C10").
Les UBound est à nouveau utilisé - mais cette fois, il est nécessaire deux fois - une fois pour parcourir les lignes, puis à nouveau pour parcourir les colonnes.
Les Déboguer.Imprimer fonction vous montrera la valeur contenue dans le tableau dans la fenêtre immédiate.