Cellules VBA Excel - Comment utiliser la propriété de référence de cellule avec un objet Range?

Table des matières

Les cellules sont en fait des cellules de la feuille de calcul et dans VBA, lorsque nous nous référons aux cellules en tant que propriété de plage, nous nous référons en fait aux cellules exactes, en d'autres termes, la cellule est utilisée avec la propriété de plage et la méthode d'utilisation de la propriété de cellules est la suivante Range ( .Cells (1,1)) now cells (1,1) signifie la cellule A1, le premier argument est pour la ligne et le second est pour la référence de colonne.

Références de cellules VBA

Vous n'avez besoin d'aucune introduction spéciale sur ce qu'est une cellule VBA. Dans les concepts VBA, les cellules sont également les mêmes, pas différentes des cellules Excel normales. Suivez cet article pour avoir plus de connaissances sur le concept des cellules VBA.

Qu'est-ce que la gamme VBA et la cellule VBA?

Je suis sûr que c'est la question qui vous vient à l'esprit en ce moment. Dans VBA, Range est un objet, mais Cell est une propriété dans une feuille Excel. Dans VBA, nous avons deux façons de référencer un objet de cellule, une via Range et une autre via Cells.

Par exemple, si vous souhaitez référencer la cellule C5, vous pouvez utiliser deux méthodes pour faire référence à la cellule C5.

Utilisation de la méthode de plage: Plage («C5»)

Utilisation de la méthode Cells: Cells (5, 3)

De même, si vous souhaitez insérer la valeur «Hi» dans la cellule C5, vous pouvez utiliser le code ci-dessous.

Utilisation de la méthode de plage: Plage ("C5"). Valeur = "Hi"

Utilisation de la méthode Cells: Cells (5, 3) .Value = "Hi"

Désormais, si vous souhaitez sélectionner plusieurs cellules, nous ne pouvons sélectionner que via l'objet Range. Par exemple, si je souhaite sélectionner des cellules de A1 à A10, voici le code.

Code: Plage («A1: A10»). Sélectionnez

Mais malheureusement, nous ne pouvons référencer qu'une seule cellule à la fois en utilisant la propriété CELLS. Nous pouvons utiliser Cells avec un objet Range comme ci-dessous.

Plage («A1: C10»). Les cellules (5,2) signifient dans la plage A1 à C10 la cinquième ligne et la deuxième colonne, c'est-à-dire la cellule B5.

La formule de la propriété CELLS dans VBA

Jetez un œil à la formule de la propriété CELLS.

  • Index de ligne: ce rien mais la ligne que nous référençons.
  • Index de colonne: ce n'est rien d'autre que la colonne à laquelle nous faisons référence.
  • Cellules (1, 1) signifie cellule A1, Cellules (2, 1) signifie cellule A2, Cellules (1, 2) signifie cellule B1.
  • Cellules (2, 2) signifie cellule B2, Cellules (10, 3) signifie cellule C10, Cellules (15, 5) signifie cellule E15.

# 1 - Comment utiliser la propriété CELLS dans VBA?

Maintenant, je vais vous apprendre à utiliser ces propriétés CELLS dans VBA.

Supposons que vous travaillez dans le nom de feuille appelé Data 1 et que vous souhaitez insérer une valeur «Hello» dans la cellule A1.

Le code ci-dessous le ferait pour vous.

Sub Cells_Example () Cells (1, 1) .Value = "Bonjour" End Sub

Résultat:

Maintenant, je vais aller au nom de la feuille appelée Data 2 et exécuter le code. Même là, il insérera le mot «Bonjour».

En fait, nous pouvons également combiner la propriété CELLS avec un nom de feuille particulier. Pour faire référence à une feuille particulière, utilisez l'objet WORKSHEET.

Feuilles de calcul («Data 1»). Cells (1,1) .Value = «Hello»

Cela insérera le mot «Bonjour» dans la feuille «Données 1» quelle que soit la feuille dans laquelle vous vous trouvez.

# 2 - Comment utiliser la propriété CELLS avec un objet Range?

En fait, nous pouvons utiliser la propriété CELLS avec un objet RANGE. Par exemple, regardez le code ci-dessous.

Plage ("C2: E8"). Cellules (1, 1) .Sélectionnez

Pour une meilleure compréhension, j'ai entré quelques chiffres dans la feuille Excel.

Le code ci-dessus Range ("C2: E8"). Cellules (1, 1) .Select dit dans la plage C2 à E8 sélectionnez la première cellule. Exécutez ce code et voyez ce qui se passe.

Sub Cells_Example () Range ("C2: E8"). Cells (1, 1) .Select End Sub

Il a sélectionné la cellule C2. Mais Cells (1, 1) signifie cellule A1, n'est-ce pas?

La raison pour laquelle il a sélectionné la cellule C2 parce qu'en utilisant l'objet de plage, nous avons insisté sur la plage de C2 à E8, de sorte que la propriété Cells traite la plage de C2 à E8, pas de cellule A1 régulière. Dans cet exemple, C2 est la première ligne et la première colonne, donc Cells (1, 1) .select signifie cellule C2.

Maintenant, je vais changer le code en Range ("C2: E8"). Cells (3, 2) .Sélectionnez et voyez ce qui se passe.

Exécutez ce code et vérifiez quelle cellule il sélectionnera réellement.

Sub Cells_Example () Range ("C2: E8"). Cells (3, 2) .Select End Sub

Il a sélectionné la cellule D4, c'est-à-dire n ° 26. Les cellules (3,2) signifient à partir de la cellule C2 déplacée vers le bas de 3 lignes et se déplacent de 2 colonnes vers la droite, c'est-à-dire la cellule D4.

# 3 - Propriété des cellules avec des boucles

La propriété CELLS avec des boucles a une très bonne relation dans VBA. Regardons l'exemple d'insertion de numéros de série de 1 à 10 en utilisant FOR LOOP. Copiez et collez le code ci-dessous dans votre module.

Sub Cells_Example () Dim i As Integer For i = 1 To 10 Cells (i, 1) .Value = i Next i End Sub

Ici, j'ai déclaré la variable I comme un entier.

Ensuite, j'ai appliqué FOR LOOP avec I = 1 à 10 c'est-à-dire, et la boucle doit s'exécuter 10 fois.

Cellules (i, 1) .valeur = i

Cela signifie que lorsque la boucle s'exécute pour la première fois, la valeur de «I» sera 1, donc partout où la valeur de «I» est 1, c'est-à-dire Cell (1,1) .value = 1

Lorsque la boucle renvoie la valeur de «I» pour la deuxième fois, elle vaut 2, donc où que se trouve la valeur de «I», elle est de 2. c'est-à-dire Cell (2,1) .value = 2

Cette boucle fonctionnera 10 fois et insérera la valeur I de A1 à A10.

Choses à retenir dans les cellules VBA

  • CELLS est une propriété, mais le RANGE est un objet. Nous pouvons utiliser la propriété avec des objets mais pas d'objecter à la propriété.
  • Lorsque la plage est fournie, les cellules ne prennent en compte que cette plage, pas la plage normale.
  • Cells (1, 2) est la cellule B1, de même Cells (1, "B") est également la cellule B1.

Articles intéressants...