Іменований діапазон VBA | Як створити та використовувати іменовані діапазони?

Іменований діапазон Excel VBA

Коли ми працюємо з великим обсягом даних, щоб уникнути посилань на певну комірку або діапазони комірок, ми зазвичай створюємо іменовані діапазони, і це дозволяє нам посилатися на необхідний діапазон комірок через названий діапазон. У VBA для створення діапазону імен ми маємо функцію Додати ім'я.

Ми можемо вибрати комірку або діапазон комірок і дати їй назву. Після іменування комірок ми можемо посилатися на ці клітинки, вводячи ці визначені імена замість звичайних посилань на рядки чи стовпці.

Ви можете завантажити цей шаблон VBA Named Range Excel тут - VBA Named Range Excel Template

Як створити іменовані діапазони?

Створення іменованих діапазонів - це прогулянка в парку. Перше, що нам потрібно зробити, це визначити клітинки, які ми хочемо створити в Excel.

Для прикладу подивіться на зображення нижче.

Щоб отримати прибуток у клітинці В4, я застосував формулу В2 - В3.

Це загальне, що роблять усі. Але як щодо створення імен і застосувати формулу приблизно на зразок «Продаж» - «Вартість».

Наведіть курсор на клітинку B2> Перейдіть у поле Ім'я та назвіть його Продажем.

Наведіть курсор на клітинку B3 і назвіть його Cost.

Тепер у стовпці прибутку ми можемо посилатися на ці імена замість посилань на клітинки.

Це основна річ про іменовані хребти.

Як створити іменовані діапазони за допомогою коду VBA?

Приклад №1

Ви коли-небудь думали про створення іменованого діапазону за допомогою коду VBA?

Дотримуйтесь наведених нижче кроків, щоб створити іменований діапазон.

Крок 1: Визначте змінну як “Діапазон”.

Код:

 Sub NamedRanges_Example () Dim Rng As Range End Sub 

Крок 2: Тепер встановіть змінну “Rng” для певних клітинок, які ви хочете назвати.

Код:

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

Крок 3: Використання об’єкта “ThisWorkbook” для доступу до властивості імен.

У нас так багато параметрів за допомогою методу Names.Add . Нижче наведені пояснення.

[Ім'я]: Ім'я - це не що інше, як те ім’я, яке ми хотіли б назвати вказаному діапазону.

При іменуванні комірки вона не повинна містити жодних спеціальних символів, крім символу підкреслення (_), а також не повинна містити пробілів, вона не повинна починатися з числових значень.

[Відноситься до]: Це не що інше, як те, до якого діапазону клітин ми маємо на увазі.

Я думаю, що ці два параметри достатньо хороші, щоб розпочати розгляд справи.

Крок 4: В імені аргумент вводить ім’я, яке ви хочете дати. Я назвав «Номер продажу».

Код:

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

Крок 5: У аргументі посилання на аргумент введіть діапазон комірок, які ми хочемо створити. В назві змінної “Rng” ми вже призначили діапазон комірок як від A2 до A7, тому вкажіть аргумент як “Rng”.

Код:

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

Добре, цей код створить іменований діапазон для комірок від A2 до A7.

Тепер на робочому аркуші я створив кілька чисел від A2 до A7.

In the A8 cell, I want to have the total of the above cell numbers. Using 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 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 the 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 named 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 

This will calculate the profit amount in the cell named “Profit”.