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.

  1. Utilisez le mot-clé « Dim » et entrez le nom de la variable.
  2. Déclarez le mot-clé comme Range .
  3. Tapez le nom de la variable.
  4. Spécifiez la plage que vous souhaitez affecter à la variable.
utiliser le mot-clé dim

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.

sélection d'un objet autre que la plage

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.

copier organiser à l'aide d'une variable
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
utiliser une variable de plage dans une fonction

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
compter le nombre de lignes et de colonnes

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")

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *