Plage nommée VBA

Plage nommée Excel VBA

Lorsque nous travaillons avec une grande quantité de données pour éviter de faire référence à une cellule ou à des plages de cellules particulières, nous créons généralement des plages nommées et cela nous permet de faire référence à la plage de cellules requise via la plage nommée. Dans VBA pour créer une plage de noms, nous avons Ajouter une fonction de nom.

Nous pouvons sélectionner une cellule ou une plage de cellules et lui donner un nom. Après avoir nommé les cellules, nous pouvons faire référence à ces cellules en entrant ces noms définis au lieu des références de ligne ou de colonne habituelles.

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

Comment créer des plages nommées?

C'est une promenade dans le travail du parc pour créer des plages nommées. La première chose à faire est d'identifier les cellules que nous voulons créer une plage de noms dans Excel.

Pour un exemple, regardez l'image ci-dessous.

Pour arriver au profit dans la cellule B4, j'ai appliqué la formule B2 - B3.

C'est la chose courante que tout le monde fait. Mais que diriez-vous de créer les noms et d'appliquer la formule quelque chose comme «Ventes» - «Coût».

Placez un curseur sur la cellule B2> Aller à la zone Nom et appelez-la Sales.

Placez un curseur sur la cellule B3 et appelez-la Coût.

Maintenant, dans la colonne profit, nous pouvons faire référence à ces noms au lieu de références de cellules.

C'est la base des plages nommées.

Comment créer des plages nommées à l'aide du code VBA?

Exemple 1

Avez-vous déjà pensé à créer une plage nommée à l'aide du code VBA?

Suivez les étapes ci-dessous pour créer une plage nommée.

Étape 1: Définissez la variable comme «Plage».

Code:

 Sub NamedRanges_Example () Dim Rng As Range End Sub 

Étape 2: Maintenant, définissez la variable «Rng» sur les cellules spécifiques que vous souhaitez nommer.

Code:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") End Sub 

Étape 3: Utilisation de la propriété Noms d'accès aux objets «ThisWorkbook».

Nous avons tellement de paramètres avec la méthode Names.Add . Voici les explications.

[Nom]: Le nom n'est rien d'autre que le nom que nous aimerions donner à la plage que nous spécifions.

Lors de la dénomination de la cellule, elle ne doit contenir aucun caractère spécial à l'exception du symbole de soulignement (_) et elle ne doit pas contenir de caractères d'espacement également, elle ne doit pas commencer par des valeurs numériques.

[Se réfère à]: Ce n'est rien d'autre que la plage de cellules à laquelle nous faisons référence.

Je pense que ces deux paramètres sont suffisamment bons pour lancer la procédure.

Étape 4: Dans le nom, l'argument entre le nom que vous souhaitez donner. J'ai nommé «SalesNumbers».

Code:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers" End Sub 

Étape 5: Dans l'argument se réfère à, entrez la plage de cellules que nous souhaitons créer. Dans le nom de la variable «Rng», nous avons déjà assigné la plage de cellules de A2 à A7, alors fournissez l'argument comme «Rng».

Code:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng End Sub 

Ok, ce code créera une plage nommée pour les cellules de A2 à A7.

Maintenant, dans la feuille de calcul, j'ai créé des nombres de A2 à A7.

Dans la cellule A8, je veux avoir le total des numéros de cellule ci-dessus. En utilisant la plage nommée, nous allons créer une SOMME de ces nombres.

Code:

 Sub NamedRanges_Example () Dim Rng As Range Set Rng = Range ("A2: A7") ThisWorkbook.Names.Add Name: = "SalesNumbers", RefersTo: = Rng Range ("A8"). Value = WorksheetFunction.Sum (Range ( "SalesNumbers")) End Sub 

Si vous exécutez ce code manuellement ou en appuyant sur la touche f5, nous obtiendrons le total d'une plage nommée dans la cellule A8.

Ce sont les faits de base à savoir sur les «plages nommées».

Exemple # 2

Dans VBA utilisant l'objet RANGE, nous pouvons faire référence aux cellules. De même, nous pouvons également faire référence à ces cellules en utilisant également des plages nommées.

Par exemple, dans l'exemple ci-dessus, nous avons nommé la cellule B2 comme «Ventes» et B3 comme «Coût» .

En utilisant la référence de cellule réelle, nous nous référons à ces cellules comme ceci.

Code:

 Sous NamedRanges () Range ("B2"). Sélectionnez "Ceci sélectionnera la plage de cellules B2 (" B3 "). Sélectionnez" Ceci sélectionnera la cellule B3 End Sub 

Puisque nous avons déjà créé ces cellules, nous pouvons nous référer à l'utilisation de ces noms comme ci-dessous.

Code:

 Sous NamedRanges () Range ("Sales"). Sélectionnez "Cela sélectionnera la cellule nommée" Sales ", c'est-à-dire B2 cell Range (" Cost "). Sélectionnez" Cela sélectionnera la cellule nommée "Cost", c'est-à-dire la cellule B3 End Sub 

Comme cela en utilisant des plages nommées, nous pouvons utiliser ces cellules. En utilisant ces noms, nous pouvons calculer le montant du profit dans la cellule B4. Pour ce prénom, la cellule B4 est Profit.

Maintenant, dans l'éditeur VBA, appliquez ce code.

Code:

 Sub NamedRanges_Example1 () Range ("Profit"). Value = Range ("Sales") - Range ("Cost") End Sub 

Cela calculera le montant du profit dans la cellule nommée «Profit».