Gamme nommée VBA - Comment créer et utiliser des plages nommées?

Table des matières

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.

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.

Par 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 chose de base à propos 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é Names 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, mais quel est le nom que nous aimerions donner à la plage que nous spécifions.

Lors de l'attribution d'un nom à la cellule, elle ne doit contenir aucun caractère spécial à l'exception du symbole de soulignement (_) et elle ne doit pas non plus contenir de caractères d'espace. Il 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 fait référence à un argument, entrez la plage de cellules que nous souhaitons créer. Dans le nom de la variable «Rng», nous avons déjà attribué 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.

In the A8 cell, I want to have the total of the above cell numbers. Using the named range, we will create a SUM of these numbers.

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

If you run this code manually or by pressing the f5 key then, we will get the total of a named range in cell A8.

This is the basic must-know facts about “Named Ranges.”

Example #2

In VBA using RANGE object, we can refer to the cells. Similarly, we can also refer to those cells by using named ranges as well.

For example, in the above example, we have named the cell B2 as “Sales” and B3 as “Cost.”

By using actual cell reference, we refer to those cells like this.

Code:

Sub NamedRanges() Range("B2").Select 'This will select the B2 cell Range("B3").Select 'This will select the B3 cell End Sub

Since we already created these cells, we can refer to using those names like below.

Code:

Sub NamedRanges() Range("Sales").Select 'This will select cell named as "Sales" i.e. B2 cell Range("Cost").Select 'This will select cell named as "Cost" i.e. B3 cell End Sub

Like this, using Named Ranges, we can make use of those cells. Using these names, we can calculate the profit amount in cell B4. For this first name, the cell B4 as Profit.

Now in the VBA editor, apply this 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".

Articles intéressants...