Déclarer une Gamme par rapport à la Cellule Active avec VBA
J'ai besoin de déclarer un objet de la plage par rapport à la Cellule Active. Le problème, c'est le nombre de lignes et de colonnes que je veux sélectionner est différente à chaque fois que la macro s'exécute.
Par exemple, j'ai deux variables: numRows
et numCols
.
Je veux sélectionner une plage qui a le ActiveCell dans le coin supérieur gauche de la main a la cellule de la rangée ActiveCell.Ligne + NumRows et de la colonne ActiveCell.Colonne + NumCols en bas à droite (et puis j'ai l'intention de copier ces données dans un tableau pour accélérer ma macro).
Des suggestions sur la façon de faire cela?
Vous devez vous connecter pour publier un commentaire.
Il y a un .Décalage propriété sur une Plage de classe qui permet de faire exactement ce dont vous avez besoin
ActiveCell.Offset(numRows, numCols)
suivi d'un commentaire:
et vous pouvez vérifier par
MsgBox newRange.Address
et voici comment assigner cette gamme à un tableau
Comme ceci:
alors lire le contenu de cette gamme à un tableau:
ou, sélectionnez la plage (je ne pense pas que c'est vraiment ce que vous voulez, mais vous demander ce dans la question).