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 ayez 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 la 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
En 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 Excel, la plage n'est 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 A, 1, c'est-à-dire Range («A1»).
Exemples
Exemple 1
Considérez les données ci-dessous, par exemple, une 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 «Sélectionner».
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

J'exécute ce code manuellement ou en utilisant la touche F5. Ensuite, 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, l, 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 à l'aide de la touche F5 ou exécutez manuellement, il sélectionnera la cellule A10 comme indiqué ci-dessous:

Production:

Choses dont il faut se rappeler
- 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 à l'aide de OFFSET, vous devez mentionner «.Select».
- Si vous souhaitez copier la cellule en utilisant OFFSET, vous devez mentionner «.Copy».