Boucle vba sur une plage non contiguë
J'ai une plage non contigu sur les lignes (exemple d'adresse de myRange: $2:$2,$4:$205,$214:$214) et je voudrais accéder à un niveau particulier de ligne et de colonne de la plage. J'ai essayé ce qui suit:
'Obtenir la valeur de la 2ème ligne, 1ère colonne de la plage
myRange.rows(2).Cells(, 1).Value
Cependant, ce qui me donne la valeur de la 2e rangée dans la Feuille de calcul, et non PAS dans le sens qu'il me donne l'adresse $3$1 - et pas $4$1
Quelqu'un peut-il expliquer comment je peux accéder aux valeurs à l'intérieur de ma gamme? (Il peut avoir à faire avec des domaines différents)
Merci
source d'informationauteur Jeffrey
Vous devez vous connecter pour publier un commentaire.
Voici mes entrées - pas nécessairement mieux que d'Irwin
Et aller lire http://www.dailydoseofexcel.com/archives/2004/07/07/the-strange-object/ pour certains de comprendre pourquoi Excel est de se comporter de cette façon.
Et le test proc si vous êtes intéressé
Je pense que ce que vous êtes désireux de VBA est de voir votre plage non contigu comme une zone contiguë. Je ne pense pas que l'approche que vous prenez va travailler. Vous aurez à les traiter comme multipe contiguë plages. Le code suivant devrait vous obtenir a commencé. Où rowSelection est la ligne dans votre gamme qui vous intéressent. Si vous saisissez 2, il va sélectionner la ligne 4 dans le classeur car il est la deuxième ligne dans votre gamme.
Ce code parcourt une plage nommée:
Merci à vous tous pour les réponses, Avant que vu de ces réponses, j'ai pensé moi-même et jusqu'à présent, il est de travail. Je ne dirai pas que c'est la plus efficace méthode, mais semble fonctionner:
Il semble similaire 2ème réponse - baically je suis l'avancement de gamme à l'index, je veux travailler avec et que je retourne à une plage définie par l'adresse (!important)
J'ai que de l'appeler comme ceci: