Excel VBA sélection de plusieurs plages dynamiques
Je suis en train de sélection de plusieurs de la gamme dynamique. Essayez d'utiliser la méthode de l'union et je suis de la Méthode 'Range' de 'l'objet' Global a Échoué erreur sur le premier Jeu de ligne.
Dim LR As Long
LR = Range("A60000").End(xlUp).Row
Dim R1, R2, R3, R4, R5, MultiRange As Range
Set R1 = Range("A7,:A" & LR)
Set R2 = Range("D7,:D" & LR)
Set R3 = Range("G7,:G" & LR)
Set R4 = Range("H7,:H" & LR)
Set R5 = Range("J7,:J" & LR)
Set MultiRange = Union(R1, R2, R3, R4, R5)
MultiRange.Select
Selection.Copy
Pourrait aider quelqu'un?
Grâce
OriginalL'auteur Hinson.Li | 2014-02-06
Vous devez vous connecter pour publier un commentaire.
Le problème se produit en raison de la virgule dans vous gamme consolidés. I. e. lorsque vous définissez
R1
vous devriez écrire:Aussi, lorsque vous définissez le type d'objet de vos variables
R1
, ...,R5
vous devriez l'écrire commeSinon
R1
, ...,R5
sera défini comme une Variante. Cela ne cause pas un problème, mais il vous fera économiser de la mémoire et rend pour un nettoyeur de code.plus un pour la bonne façon de déclarer des variables.
OriginalL'auteur Netloh
Vous pouvez également configurer la comme ceci:
Ce que vous avez fait, c'est vous plutôt mélangé de la Gamme de la syntaxe.
Voir ci-dessous certaines communes Syntaxe:
À l'aide de
:
de définirRange
:À l'aide de
,
de définirRange
:À l'aide de
Cells
propriété:À l'aide de
Range
propriété:Tous syntaxe ci-dessus donne:
$A$1:$A$(LR)
Chacune présente des avantages et des utilisations.
Utilisez la syntaxe que vous êtes le plus à l'aise avec.
Supplémentaires:
Celui-ci utilise
Intersect Function
:OriginalL'auteur L42