Comment utiliser une cellule comme variable dans VBA ?
Pour utiliser une plage ou une seule cellule comme variable, vous devez d’abord déclarer cette variable avec le type de données plage. Une fois que vous avez fait cela, vous devez spécifier une plage d’une cellule à cette variable à l’aide de l’objet plage. Cela vous donne également accès à toutes les propriétés et méthodes que vous pouvez utiliser avec une plage.
- Utilisez le mot-clé « Dim » et entrez le nom de la variable.
- Déclarez le mot-clé comme Range .
- Tapez le nom de la variable.
- Spécifiez la plage que vous souhaitez affecter à la variable.
Définir la sélection sur la variable de plage
Vous pouvez également utiliser la plage sélectionnée pour une variable, puis cette variable pour accéder aux propriétés et aux méthodes. Considérez le code suivant.
Sub vba_range_variable()
Dim rng As Range
Set rng = Selection
Selection.Clear
End Sub
Mais il y a une chose que vous devez faire attention que lorsque vous sélectionnez un objet autre qu’une plage, VBA vous montrera une erreur.
Mais c’est aussi une méthode dynamique où vous n’avez pas besoin de changer la plage encore et encore.
Copier une plage à l’aide d’une variable
Une fois que vous avez déclaré une variable en tant que plage, vous pouvez également copier cette plage en utilisant ce nom de variable. Supposons que vous ayez déclaré la plage A1: A10 en tant que variable rng (exemple ci-dessus), vous pouvez la copier en utilisant le code suivant.
Sub vba_range_variable()
Dim rng As Range
Set rng = Range("A1:A10")
rng.Copy
End Sub
Utilisation de la variable de plage dans une fonction
Vous pouvez également utiliser une variable de plage pour faire référence à une plage dans une fonction lors de l’écriture d’une macro. Considérez le code suivant.
Sub vba_range_variable()
Dim iNames As Variant
Dim rng As Range
Set rng = Range("A1:A10")
Range("B1") = WorksheetFunction.Max(rng)
End Sub
Il prend des valeurs dans la plage A1: A10 et comme vous devez utiliser la variable « rng », nous avons utilisé la variable dans la valeur maximale pour en sortir.
En relation: Comment utiliser WorksheetFunction dans VBA
Compter le nombre de lignes et de colonnes
Comme je l’ai déjà dit, une fois que vous avez spécifié une variable en tant que plage, vous obtiendrez également toutes les propriétés et méthodes d’accès. Imaginez si vous voulez compter les lignes et les colonnes. Voici le code qui pourrait être utilisé.
Sub vba_range_variable()
Dim rng As Range
Set rng = Range("A1:A10")
MsgBox "This range has " & _
rng.Rows.Count & " row(s) and " & _
rng.Columns.Count & " coulmn(s)."
End Sub
Lorsque vous exécutez ce code, il affiche un message avec le nombre de lignes et de colonnes de la plage que vous avez spécifiée dans la variable.
Définition de la feuille de calcul avec la plage
Dans tous les exemples ci-dessus, nous avons utilisé la plage sans mentionner la feuille de calcul, donc lorsque vous exécutez ce code, VBA fera toujours référence à la plage dans la feuille active. Mais si vous souhaitez faire référence à une feuille de calcul spécifique, vous devez utiliser l’ objet feuille de calcul avec la plage.
Dim rng As Range
Set rng = Worksheets("Sheet1").Range("A1:A10")