Table des matières
Dans cet article, je vais vous montrer comment vous pouvez définir une variable à une valeur de cellule en utilisant VBA Vous apprendrez à définir une variable sur la valeur d'une seule cellule et d'une plage de cellules.
Télécharger le cahier d'exercices
Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.
Définir la variable à Cell.xlsm3 exemples rapides pour définir une variable à une valeur de cellule dans Excel
Ici, nous avons un ensemble de données qui contient le les noms de certains clients leur numéros de contact et adresses électroniques dans la gamme B3:D13 d'une feuille de travail.
Nous visons à définir les variables aux valeurs des cellules de cet ensemble de données en utilisant VBA .
1) Définir une variable à la valeur d'une seule cellule en utilisant Excel VBA
Tout d'abord, nous apprendrons à définir une variable sur une seule valeur de cellule en utilisant la méthode suivante VBA .
Par exemple, définissons la valeur de la cellule B4 à une variable appelée Nom_du_client .
Il est préférable de connaître le type de données de la valeur et de le déclarer avant, puis de définir la valeur dans cette variable.
Par exemple, ici la cellule B4 contient le nom, Boris Pasternak C'est une Type de chaîne Par conséquent, vous pouvez utiliser la méthode suivante 2 lignes de codes :
Dim Value As String Value = Range("B4")
Mais il n'y a pas de problème si vous n'êtes pas sûr du type de données. Dans ce cas, écrivez seulement la 2ème ligne, et VBA lira la valeur correctement pour vous.
Valeur = Range("B4")
Maintenant, pour vérifier si VBA a lu la valeur correctement ou non, saisissez la ligne MsgBox Valeur avec l'une des deux séries de codes, puis exécutez le code.
Une boîte de message apparaîtra pour vous montrer la valeur de la cellule B4 , Boris Pasternak .
2) Définir les valeurs d'une plage adjacente de cellules dans une variable à l'aide d'Excel VBA
Maintenant, nous allons définir les valeurs d'une plage adjacente de cellules dans une variable. Par exemple, nous allons lire la plage B3:D13 dans la variable Rng .
Ici le type de données de la variable sera un Gamme Vous pouvez soit le déclarer avant comme ceci :
Dim Rng As Range Set Rng = Range("B3:D13")
Vous pouvez aussi lui attribuer directement les valeurs.
Set Rng = Range("B3:D13")
Maintenant, pour accéder aux valeurs des Objet de la gamme vous devez y accéder avec leurs numéros de ligne et de colonne à l'aide d'une balise Objet de la cellule .
Par exemple, pour accéder à la cellule B4 vous devez utiliser Rng.Cells(2,1) [ Cellule B4 est dans le 2ème rang et 1er colonne de la gamme B3:D13 .]
Entrez la ligne MsgBox Rng.Cells(2,1) dans votre code et exécutez-le. Il montrera Boris Pasternak la valeur de la cellule B4 .
Définir les valeurs d'une plage de cellules non adjacentes dans une variable en utilisant Excel VBA
Enfin, nous allons placer les valeurs d'une plage de cellules non adjacentes dans une variable.
Par exemple, essayons de lire la plage B3:B13 et D3:D13 dans une variable appelée Rng .
C'est à nouveau un type de données de Gamme Vous pouvez le déclarer à l'avance ou non.
Nous utiliserons le Méthode de l'union de VBA à rejoindre 2 ou plusieurs plages de cellules non adjacentes en une seule plage.
Dim Rng As Range Set Range = Union(Range("B3:B13"), Range("D3:D13"))
Maintenant pour accéder à la cellule B4 vous devez à nouveau entrer la ligne MsgBox Rng.Cells(1,1). Ensuite, si nous exécutons le code, il affichera le contenu de la cellule B4 , Boris Pasternak .
Les choses à retenir
Toutes les méthodes décrites ci-dessus ne fonctionnent que pour la feuille de travail active. Si vous voulez accéder à une feuille de travail qui n'est pas active, vous devez mentionner le nom de la feuille de travail avant la plage.
Par exemple, pour accéder à la gamme B4 de Feuille 1 que vous devez utiliser :
Valeur = Worksheets("Sheet1").Range("B4")