Variable Excel VBA dans la plage
Les variables sont le cœur et l'âme de tous les grands projets VBA, car les variables sont le cœur et l'âme, le type de type de données que nous leur attribuons est également un facteur très important à cet égard. Dans nos nombreux articles précédents, nous avons discuté à maintes reprises des variables et de l'importance de leur type de données. L'une de ces variables et types de données est «Variable de plage» dans cet article spécial dédié. Nous vous donnerons un guide complet sur «Range Variable» dans Excel VBA.
Qu'est-ce que la variable de plage dans Excel VBA?
Comme toutes les autres variables Range dans VBA, la variable est également une variable, mais c'est une «variable objet» que nous utilisons pour définir la référence de la plage spécifique de cellules.
Comme toute autre variable, nous pouvons donner n'importe quel nom à la variable, mais le type de données que nous leur attribuons doit être une «plage». Une fois que le type de données est affecté à la variable, il devient une «variable objet», et contrairement à une autre variable, nous ne pouvons pas commencer à utiliser la variable avant de définir la référence des objets dans le cas des variables objet.
Donc, après avoir déclaré la variable, nous devons utiliser le mot clé «SET» pour définir la référence de l'objet, c'est-à-dire l'objet Range dans ce cas.
Ok, maintenant nous allons voir certains des exemples de variables de plage VBA Excel pratiquement.

Exemples de variable de plage dans Excel VBA
Par exemple, supposons que vous souhaitiez sélectionner la plage de cellules de A2 à B10 pour l'image de capture d'écran ci-dessous.

Pour sélectionner cette plage de cellules mentionnée, tout cela pendant que nous avons l'objet RANGE et à l'intérieur de l'objet plage, nous avons mentionné l'adresse de la cellule entre guillemets.
Code:
Sub Range_Variable_Example () Range ("A2: B10") End Sub

Une fois que la plage de cellules est mentionnée à l'aide de l'objet RANGE, si vous mettez un point, nous verrons toutes les propriétés et méthodes associées à cet objet plage.
Code:
Sous Range_Variable_Example () Range ("A2: B10"). End Sub

Puisque nous devons sélectionner les cellules mentionnées simplement, choisissez la méthode «Sélectionner» dans la liste IntelliSense.
Code:
Sub Range_Variable_Example () Range ("A2: B10"). Sélectionnez End Sub

Exécutez le code et il sélectionnera les cellules mentionnées.

C'est évident, n'est-ce pas, mais imaginez le scénario d'utilisation de la même plage dans le long projet VBA, disons cent fois, écrire le même code de «Range (« A2: A10 »)» 100 fois prendra un certain temps, mais à la place, nous déclarerons la variable et attribuerons le type de données en tant qu'objet «Range».
Ok, donnons votre propre nom à une variable et attribuons le type de données comme "Plage".

À part «Variables d'objet», nous pouvons commencer à utiliser les variables par leur nom, mais dans le cas de «Variables d'objet», nous devons définir la référence.
Par exemple, dans ce cas, notre objet variable (Rng) est une plage, nous devons donc définir la référence au mot «Rng» auquel se référer. Pour définir la référence, nous devons utiliser le mot-clé «Set».

Maintenant, la variable «Rng» fait référence à la plage de cellules de A2 à B10. Au lieu d'écrire «Range (« A2: B10 »))» à chaque fois, nous pouvons simplement écrire le mot «Rng».
Dans la ligne suivante, mentionnez le nom de la variable «Rng» et mettez un point pour voir la magie.

Comme vous pouvez le voir ci-dessus, nous pouvons voir toutes les propriétés et méthodes des objets range comme le précédent.
Rendre la variable dynamique
Maintenant, nous savons comment définir la référence à la plage de cellules, mais une fois que nous mentionnons la plage de cellules, elle ne s'en tient qu'à ces cellules. Tout ajout ou suppression de cellules n'aura aucun impact sur ces cellules.
Ainsi, trouver la nouvelle plage de cellules après tout ajout ou suppression de cellules rend la variable dynamique par nature. Ceci est possible en trouvant la dernière ligne et colonne utilisées.
Pour trouver la dernière ligne et colonne utilisées, nous devons définir deux autres variables.
Code:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding End Sub

Le code ci-dessous trouvera maintenant la dernière ligne et colonne utilisée avant de définir la référence à une variable d'objet de plage.
Code:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column End Sub

Ouvrez maintenant l'instruction de mot-clé «Set».
Code:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = End Sub

Contrairement à la méthode précédente, nous utilisons cette fois les propriétés VBA CELLS.
Code:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) End Sub

J'ai mentionné Cells (1,1), c'est-à-dire que cela fait référence à la première cellule de la feuille active, mais nous avons besoin de la référence de la plage de données, utilisez donc la propriété «RESIZE» et mentionnez les variables «last used row & column».
Code:
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) End Sub

Maintenant, cela définira la dernière référence à la variable d'objet de plage «Rng». Ensuite, mentionnez le nom de la variable et utilisez la méthode «Select».
Sub Range_Variable_Example () Dim Rng As Range Dim LR As Long 'LR = Last Row for Understanding Dim LC As Long' LC = Last Column for Understanding LR = Cells (Rows.Count, 1) .End (xlUp) .Row LC = Cells (1, Columns.Count) .End (xlToLeft) .Column Set Rng = Cells (1, 1) .Resize (LR, LC) Rng.Select End Sub
Maintenant, je vais ajouter quelques lignes supplémentaires à mes données.

J'ai ajouté trois lignes de données supplémentaires. Si j'exécute le code maintenant, il doit sélectionner la dernière plage de données.

Choses dont il faut se rappeler
- La variable de plage dans Excel VBA est une variable d'objet.
- Chaque fois que nous utilisons la variable objet, nous devons utiliser le mot clé «Set» et définir la référence d'objet sur la variable.
- Sans définir la référence, nous ne pouvons pas utiliser de variable objet.