Име на обхвата на Excel VBA
Когато работим с голямо количество данни, за да избегнем препратки към определена клетка или диапазони от клетки, обикновено създаваме именувани диапазони и това ни позволява да препращаме към необходимия диапазон от клетки през посочения диапазон. Във VBA за създаване на диапазон от имена имаме функция за добавяне на име.
Можем да изберем клетка или диапазон от клетки и да й дадем име. След именуването на клетките можем да се позовем на тези клетки, като въведем тези дефинирани имена вместо обичайни референции на редове или колони.
Можете да изтеглите този VBA Named Range Excel Template тук - VBA Named Range Excel TemplateКак да създадете именувани диапазони?
Това е разходка в парка, за да създадете имена на диапазони. Първото нещо, което трябва да направим, е да идентифицираме клетките, които искаме да създадем диапазон от имена в Excel.
За пример погледнете изображението по-долу.
За да стигна до печалбата в клетка B4, аз приложих формулата B2 - B3.
Това е често срещаното нещо, което всеки прави. Но какво ще кажете за създаване на Имена и прилагане на формулата нещо като „Продажби“ - „Разходи“.
Поставете курсор в клетката B2> Отидете в полето Име и го наречете Продажби.
Поставете курсор върху клетката B3 и го наречете Cost.
Сега в колоната печалба можем да препращаме тези имена вместо препратки към клетки.
Това е основното нещо за Named Ranges.
Как да създам именувани диапазони с помощта на 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: В името аргументът въвежда името, което искате да дадете. Назовах като „SalesNumbers”.
Код:
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”.