VBA Named Range - Como criar e usar intervalos nomeados?

Intervalo Nomeado do Excel VBA

Quando trabalhamos com uma grande quantidade de dados para evitar a referência a uma célula ou intervalos de células em particular, geralmente criamos intervalos nomeados e isso nos permite fazer referência ao intervalo de células necessário por meio do intervalo nomeado. No VBA, para criar um intervalo de nomes, temos Adicionar Função de Nome.

Podemos selecionar uma célula ou intervalo de células e dar um nome a ele. Depois de nomear as células, podemos nos referir a essas células inserindo os nomes definidos em vez de referências usuais de linha ou coluna.

Como criar intervalos nomeados?

É um trabalho de caminhada no parque para criar intervalos nomeados. A primeira coisa que precisamos fazer é identificar as células que queremos criar intervalo de nomes no Excel.

Por exemplo, olhe para a imagem abaixo.

Para chegar ao lucro na célula B4, apliquei a fórmula B2 - B3.

Isso é algo comum que todo mundo faz. Mas que tal criar os nomes e aplicar a fórmula algo como “Vendas” - “Custo”.

Coloque o cursor na célula B2> caixa Ir para Nome e chame-a de Vendas.

Coloque um cursor na célula B3 e chame-o de Custo.

Agora, na coluna de lucro, podemos referir esses nomes em vez de referências de células.

Isso é o básico sobre intervalos nomeados.

Como criar intervalos nomeados usando código VBA?

Exemplo 1

Você já pensou em criar um intervalo nomeado usando o código VBA?

Siga as etapas abaixo para criar um intervalo nomeado.

Etapa 1: defina a variável como “Intervalo”.

Código:

Sub NamedRanges_Example () Dim Rng As Range End Sub

Passo 2: Agora defina a variável “Rng” para células específicas que você deseja nomear.

Código:

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

Etapa 3: Usando a propriedade de nomes de acesso ao objeto “ThisWorkbook”.

Temos tantos parâmetros com o método Names.Add . Abaixo estão as explicações.

(Nome): Nome não é nada, mas qual é o nome que gostaríamos de dar ao intervalo que especificamos.

Ao nomear a célula, ela não deve conter nenhum caractere especial, exceto o símbolo de sublinhado (_), e também não deve conter caracteres de espaço. Não deve começar com valores numéricos.

(Refere-se a): Isso nada mais é do que o intervalo de células a que nos referimos.

Acho que esses dois parâmetros são bons o suficiente para iniciar o processo.

Etapa 4: No nome, o argumento insere o nome que você deseja dar. Eu nomeei como “SalesNumbers”.

Código:

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

Etapa 5: Em se refere a um argumento, insira o intervalo de células que deseja criar. Em nome da variável “Rng”, já atribuímos o intervalo de células de A2 a A7, portanto, forneça o argumento como “Rng”.

Código:

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

Ok, este código criará um intervalo nomeado para células de A2 a A7.

Agora, na planilha, criei alguns números de A2 a 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

Isso irá calcular o valor do lucro na célula chamada "Lucro".

Artigos interessantes...