OFFSET VBA

Fonction Excel VBA OFFSET

La fonction VBA Offset est utilisée pour déplacer ou faire référence à une référence en sautant un nombre particulier de lignes et de colonnes, les arguments de cette fonction dans VBA sont les mêmes que les arguments de la feuille de calcul.

Par exemple, supposons que vous disposez d'un ensemble de données comme celui ci-dessous.

Maintenant, à partir de la cellule A1, vous voulez descendre de 4 cellules et vous voulez sélectionner cette 5ème cellule, c'est-à-dire cellule A5.

De même, si vous souhaitez descendre de 2 lignes de la cellule A1 et aller de 2 colonnes vers la droite, sélectionnez cette cellule, c'est-à-dire la cellule C2.

Dans ces cas, la fonction OFFSET est très utile. Surtout dans VBA OFFSET La fonction est tout simplement phénoménale.

OFFSET est utilisé avec l'objet de plage dans Excel VBA

Dans VBA, nous ne pouvons pas saisir directement le mot OFFSET. Nous devons d'abord utiliser l'objet VBA RANGE et à partir de cet objet range, nous pouvons utiliser la propriété OFFSET.

Dans la plage Excel, il n'y a rien d'autre qu'une cellule ou une plage de la cellule. Puisque OFFSET fait référence aux cellules, nous devons d'abord utiliser l'objet RANGE, puis nous pouvons utiliser la méthode OFFSET.

Syntaxe de OFFSET dans VBA Excel

  • Décalage de ligne: combien de lignes vous souhaitez décaler par rapport à la cellule sélectionnée. Ici, la cellule sélectionnée est A1, c'est-à-dire Range («A1»).
  • Décalage de colonne: combien de colonnes vous souhaitez décaler par rapport à la cellule sélectionnée. Ici, la cellule sélectionnée est A1, c'est-à-dire Range («A1»).

Exemples

Vous pouvez télécharger ce modèle VBA OFFSET ici - Modèle VBA OFFSET

Exemple 1

Considérez les données ci-dessous à titre d'exemple de démonstration.

Maintenant, je veux sélectionner la cellule A6 de la cellule A1. Démarrez la macro et la cellule de référence à l'aide de l'objet Range.

Code:

 Sub Offset_Example1 () Range ("A1"). Offset (End Sub 

Maintenant, je veux sélectionner la cellule A6, c'est-à-dire que je veux faire vers le bas 5 cellules. Entrez donc 5 comme paramètre pour le décalage de ligne.

Code:

 Sub Offset_Example1 () Range ("A1"). Offset (5 End Sub 

Puisque je sélectionne dans la même colonne, je laisse de côté la partie colonne. Fermez le crochet et mettez un point (.) Et tapez la méthode «Select».

Code:

 Sub Offset_Example1 () Range ("A1"). Offset (5) .Select End Sub 

Maintenant, exécutez ce code à l'aide de la touche F5 ou vous pouvez exécuter manuellement pour sélectionner la cellule A6 comme indiqué ci-dessous.

Production:

Exemple # 2

Maintenant, prenez les mêmes données, mais vous verrez ici comment utiliser également l'argument de décalage de colonne. Maintenant, je veux sélectionner la cellule C5.

Puisque je veux d'abord sélectionner la cellule C5, je veux descendre de 4 cellules et prendre les 2 bonnes colonnes pour atteindre la cellule C5. Le code ci-dessous ferait le travail pour moi.

Code:

 Sub Offset_Example2 () Range ("A1"). Offset (4, 2) .Select End Sub 

Je lance ce code manuellement ou en utilisant la touche F5 puis, il sélectionnera la cellule C5 comme indiqué dans la capture d'écran ci-dessous.

Production:

Exemple # 3

Nous avons vu comment décaler des lignes et des colonnes. Nous pouvons également sélectionner les cellules ci-dessus à partir des cellules spécifiées. Par exemple, si vous êtes dans la cellule A10 et que vous souhaitez sélectionner la cellule A1, comment sélectionnez-vous?

En cas de déplacement vers le bas de la cellule, nous pouvons entrer un nombre positif, donc ici en cas de déplacement vers le haut, nous devons entrer des nombres négatifs.

À partir de la cellule A9, nous devons monter de 8 lignes, soit -8.

Code:

 Sub Offset_Example1 () Range ("A9"). Offset (-8) .Select End Sub 

Si vous exécutez ce code à l'aide de la touche F5 ou que vous pouvez exécuter manuellement ce code, il sélectionnera la cellule A1 à partir de la cellule A9.

Production:

Exemple # 4

Supposons que vous soyez dans la cellule C8. À partir de cette cellule, vous souhaitez sélectionner la cellule A10.

À partir de la cellule active, c'est-à-dire la cellule C8, nous devons d'abord descendre de 2 lignes et nous devons nous déplacer vers la gauche de 2 colonnes pour sélectionner la cellule A10.

En cas de déplacement vers la gauche pour sélectionner la colonne, nous devons spécifier que le nombre est négatif. Nous devons donc revenir ici par -2 colonnes.

Code:

 Sub Offset_Example2 () Range ("C8"). Offset (2, -2) .Select End Sub 

Maintenant, exécutez ce code en utilisant la touche F5 ou exécutez manuellement, il sélectionnera la cellule A10 comme indiqué ci-dessous:

Production:

Choses à retenir

  • En cas de remontée des lignes, nous devons spécifier le nombre en négatif.
  • En cas de déplacement vers la gauche pour sélectionner la colonne, le nombre doit être négatif.
  • La cellule A1 est la première ligne et la première colonne.
  • Cellule active désigne les cellules actuellement sélectionnées.
  • Si vous souhaitez sélectionner la cellule en utilisant OFFSET, vous devez mentionner «.Select».
  • Si vous souhaitez copier la cellule en utilisant OFFSET, vous devez mentionner «.Copy».