Cellules VBA

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 Plage ( .Cells (1,1)) now cells (1,1) signifie la cellule A1, le premier argument est pour la ligne et le second 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 ne sont pas non plus 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, l'une via Range et l'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"

Maintenant, si vous souhaitez sélectionner plusieurs cellules, nous ne pouvons sélectionner que via l'objet Range. Par exemple, si je veux sélectionner des cellules de A1 à A10 ci-dessous est 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 des cellules 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

Regardez 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 rien mais la colonne que nous référençons.
  • 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.

Vous pouvez télécharger ce modèle Excel de cellules VBA ici - Modèle Excel de cellules 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 indique que 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 que la boucle doit fonctionner 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 =

Lorsque la boucle renvoie la valeur de «I» pour la deuxième fois, c'est 2, donc où que se trouve la valeur de «I», c'est 2. i .e. Cellule (2,1) .valeur = 2

This loop will run for 10 times and insert I value from A1 to A10.

Things to Remember in VBA Cells

  • CELLS is property but the RANGE is an Object. We can use property with objects but not object to the property.
  • When the range is supplied cells will consider only that range, not the regular range.
  • Cells (1, 2) is B1 cell, similarly Cells (1, ”B”) is also B1 cell.