Gamme de sélection VBA

Plage de sélection Excel VBA

Après les bases avec VBA, il est important de comprendre comment travailler avec une plage de cellules dans la feuille de calcul. Une fois que vous commencez à exécuter les codes pratiquement la plupart du temps, vous devez travailler avec une plage de cellules. Il est donc important de comprendre comment travailler avec une plage de cellules et l'un de ces concepts est VBA «Sélection de plage». Dans cet article, nous allons vous montrer comment travailler avec la «plage de sélection» dans Excel VBA.

La sélection et la gamme sont deux sujets différents, mais lorsque nous disons de sélectionner la gamme ou la sélection de gamme, il s'agit d'un seul concept. RANGE est un objet, «Selection» est une propriété et «Select» est une méthode. Les gens ont tendance à confondre avec ces termes, il est important de connaître les différences en général.

Comment sélectionner une plage dans Excel VBA?

Vous pouvez télécharger ce modèle Excel de plage de sélection VBA ici - Modèle Excel de plage de sélection VBA

Exemple 1

Par exemple, supposons que vous souhaitiez sélectionner la cellule A1 dans la feuille de calcul, puis nous devons d'abord spécifier l'adresse de la cellule en utilisant l'objet RANGE comme ci-dessous.

Code:

Après avoir mentionné la cellule que nous devons sélectionner put dot pour voir la liste IntelliSense qui est associée à l'objet RANGE.

Former cette variété de listes choisit la méthode «Select».

Code:

 Sub Range_Example1 () Range ("A1"). Sélectionnez End Sub 

Maintenant, ce code sélectionnera la cellule A1 dans la feuille de calcul active.

Si vous souhaitez sélectionner la cellule dans les différentes feuilles de calcul, nous devons d'abord spécifier la feuille de calcul par son nom. Pour spécifier la feuille de calcul, nous devons utiliser l'objet «WORKSHEET» et saisir le nom de la feuille de calcul entre guillemets.

Par exemple, si vous souhaitez sélectionner la cellule A1 dans la feuille de calcul «Feuille de données», spécifiez d'abord la feuille de calcul comme ci-dessous.

Code:

 Sub Range_Example1 () Worksheets ("Data Sheet") End Sub 

Continuez ensuite le code pour spécifier ce que nous devons faire dans cette feuille. Dans «Fiche technique», nous devons sélectionner la cellule A1, le code sera donc RANGE («A1»).

Code:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Range ("A1"). Sélectionnez End Sub 

Lorsque vous essayez d'exécuter ce code, nous obtiendrons l'erreur ci-dessous.

La raison en est «nous ne pouvons pas fournir directement l'objet range et sélectionner la méthode à l'objet feuilles de calcul».

Tout d'abord, nous devons sélectionner ou activer la feuille de calcul VBA, puis nous pouvons faire tout ce que nous voulions faire.

Code:

 Sub Range_Example1 () Worksheets ("Data Sheet"). Activez la plage ("A1"). Sélectionnez End Sub 

Maintenant, cela sélectionnera la cellule A1 dans la feuille de calcul «Fiche technique».

Exemple # 2 - Travailler avec la plage sélectionnée actuelle

Sélectionner est une chose différente et travailler avec une plage de cellules déjà sélectionnée est différent. Supposons que vous souhaitiez insérer une valeur «Hello VBA» dans la cellule A1, nous pouvons le faire de deux manières.

Tout d'abord, nous pouvons passer directement le code VBA comme RANGE ("A1"). Valeur = "Hello VBA".

Code:

 Sub Range_Example1 () Range ("A1"). Value = "Hello VBA" End Sub 

Ce que ce code fera est d'insérer simplement la valeur «Hello VBA» dans la cellule A1, quelle que soit la cellule actuellement sélectionnée.

Regardez le résultat ci-dessus du code. Lorsque nous exécutons ce code, il a inséré la valeur «Hello VBA» même si la cellule actuellement sélectionnée est B2.

Deuxièmement, nous pouvons insérer la valeur dans la cellule en utilisant la propriété «Sélection». Pour cela, nous devons sélectionner la cellule manuellement et exécuter le code.

Code:

 Sub Range_Example1 () Selection.Value = "Hello VBA" End Sub 

Ce que ce code fera est que cela insérera la valeur «Hello VBA» dans la cellule actuellement sélectionnée. Pour un exemple, regardez l'exemple d'exécution ci-dessous.

Lorsque j'ai exécuté le code, ma cellule sélectionnée actuelle était B2 et notre code a inséré la même valeur dans la cellule actuellement sélectionnée.

Maintenant, je vais sélectionner la cellule B3 et exécuter, là aussi nous obtiendrons la même valeur.

Une autre chose que nous pouvons faire avec la propriété «selection» est que nous pouvons également insérer une valeur dans plusieurs cellules. Par exemple, je vais maintenant sélectionner la plage de cellules de A1 à B5.

Maintenant, si j'exécute le code, pour toutes les cellules sélectionnées, nous obtiendrons la valeur «Hello VBA».

Ainsi, la simple différence entre la spécification de l'adresse de cellule par l'objet RANGE et la propriété Selection est que le code d'objet Range insère une valeur dans les cellules spécifiées explicitement.

Mais dans l'objet Selection, peu importe la cellule dans laquelle vous vous trouvez, il insérera la valeur mentionnée dans toutes les cellules sélectionnées.

Choses à retenir ici

  • Nous ne pouvons pas fournir directement la méthode select sous la propriété Selection.
  • RANGE est un objet et la sélection est une propriété.
  • Au lieu de range, nous pouvons utiliser la propriété CELLS.