Activecell Offset VBA

Ce tutoriel montrera comment utiliser Activecell Offset dans VBA.

L'ActiveCell est une propriété de VBA qui représente l'adresse de cellule de la cellule active dans votre feuille de calcul. Si le pointeur de votre souris est positionné dans la cellule A1, la propriété ActiveCell dans VBA renverra l'adresse de la cellule "A1". Il existe un certain nombre de propriétés et de méthodes connectées à ActiveCell. Dans cet article, nous nous concentrons sur la méthode ActiveCell.Offset.

Propriétés et méthodes d'ActiveCell.Offset

Activecell.Offset possède un certain nombre de propriétés et de méthodes pouvant être programmées avec VBA. Pour afficher les propriétés et les méthodes disponibles, tapez l'instruction suivante dans une procédure comme indiqué ci-dessous et appuyez sur la touche point du clavier pour afficher une liste déroulante.

Les méthodes sont représentées par l'icône de méthode verte et les propriétés par l'icône de petite main. Les propriétés et méthodes de la méthode Activecell.Offset sont les mêmes que pour la méthode Activecell.

Syntaxe ActiveCell.Offset

La syntaxe de Activecell.Offset est la suivante

où RowOffset et ColumnOffset sont le nombre de lignes à décaler (nombres positifs pour le bas, nombre négatif pour le haut) ou le nombre de colonnes que vous souhaitez décaler (nombres positifs décalés vers la droite, nombre négatif vers la gauche).

ActiveCell.Offset… Sélectionnez

Les Activecell.Offset… Sélectionner La méthode est la méthode la plus couramment utilisée avec la méthode Activecell.Offset. Il vous permet de passer à une autre cellule de votre feuille de calcul. Vous pouvez utiliser cette méthode pour vous déplacer dans les colonnes ou dans les lignes montantes ou descendantes de votre feuille de calcul.

Pour descendre d'une ligne, mais rester dans la même colonne :

1 Activecell.Offset(1,0).Sélectionner

Pour vous déplacer dans une colonne, mais rester sur la même ligne :

1 Activecell.Offset (0,1).Sélectionner

Pour descendre d'une ligne et traverser une colonne :

1 Activecell.Offset (1,1).Sélectionner

Pour remonter d'une ligne :

1 Activecell.Offset(-1,0).Select

Pour déplacer une colonne vers la gauche :

1 Activecell.Offset(0,-1).Sélectionner

Dans la procédure ci-dessous, nous parcourons une plage de cellules et descendons d'une ligne et d'une colonne pendant la boucle :

12345678 Sous ActiveCellTest()Dim x en tant qu'entierPlage ("A1").SélectionnezPour x = 1 à 10Cellule Active = xActiveCell.Offset(1, 1).SélectionnezSuivant xFin du sous-marin

Dont le résultat est montré dans le graphique ci-dessous :

La boucle met la valeur de i (1-10) dans le Cellule active, puis il utilise le Activecell.Offset propriété pour descendre d'une ligne et d'une colonne vers la droite - en répétant cette boucle 10 fois.

Programmation VBA | Le générateur de code fonctionne pour vous !

Utilisation d'un objet de plage avec Activecell.Offset Select

L'utilisation de l'objet Range avec la cellule active peut parfois dérouter certaines personnes.

Considérez la procédure suivante :

1234 Sous ActiveCellOffsetRange()Plage ("B1 : B10").SélectionnezActiveCell.Offset(1, 1).Range("A1").SelectFin du sous-marin

Avec ActiveCell.Offset(1,1.Range ("A1"), la plage ("A1") a été spécifiée. Cependant, cela ne signifie pas que la cellule A1 de la feuille sera sélectionnée. Comme nous avons spécifié la plage ("B1:B10"), la cellule A1 de cette plage est en fait la cellule B1 du classeur. Par conséquent, la cellule sera décalée d'une ligne et d'une colonne par rapport à la cellule B1 PAS de la cellule A1.

Par conséquent, la plage ("A1") dans ce cas n'est pas requise car la macro fonctionnera de la même manière avec ou sans elle.

Alternatives à ActiveCell

Au lieu d'utiliser Activecell avec la méthode Offset, nous pouvons également utiliser l'objet Range avec la méthode Offset.

123 Sub RangeOffset()Plage("B1").Décalage(0, 1).SélectionnerFin du sous-marin

La procédure ci-dessus sélectionnerait la cellule C1 dans la feuille de calcul.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave