Gama con nombre de VBA - ¿Cómo crear y utilizar rangos con nombre?

Tabla de contenido

Rango con nombre de Excel VBA

Cuando trabajamos con una gran cantidad de datos para evitar hacer referencia a una celda en particular o rangos de celdas, generalmente creamos rangos con nombre y nos permite hacer referencia al rango de celda requerido a través del rango con nombre. En VBA para crear un rango de nombres, tenemos la función Agregar nombre.

Podemos seleccionar una celda o rango de celdas y darle un nombre. Después de nombrar las celdas, podemos hacer referencia a esas celdas ingresando esos nombres definidos en lugar de las referencias habituales de fila o columna.

¿Cómo crear rangos con nombre?

Crear rangos con nombre es un paseo por el camino. Lo primero que debemos hacer es identificar las celdas que queremos crear en el rango de nombres en Excel.

Por ejemplo, mire la imagen de abajo.

Para llegar a la ganancia en la celda B4, apliqué la fórmula B2 - B3.

Esto es lo que todos hacen habitualmente. Pero, ¿qué tal crear los Nombres y aplicar la fórmula algo como "Ventas" - "Costo"?

Coloque un cursor en la celda B2> Ir al cuadro Nombre y llámelo como Ventas.

Coloque un cursor en la celda B3 y llámelo Costo.

Ahora, en la columna de ganancias, podemos hacer referencia a estos nombres en lugar de referencias de celda.

Esto es lo básico de los rangos con nombre.

¿Cómo crear rangos con nombre usando código VBA?

Ejemplo 1

¿Alguna vez ha pensado en crear un rango con nombre usando el código VBA?

Siga los pasos a continuación para crear un rango con nombre.

Paso 1: Defina la variable como "Rango".

Código:

Sub NamedRanges_Example () Dim Rng As Range End Sub

Paso 2: Ahora configure la variable "Rng" para las celdas específicas que desea nombrar.

Código:

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

Paso 3: Usar la propiedad de nombres de acceso al objeto "ThisWorkbook".

Tenemos tantos parámetros con el método Names.Add . A continuación se muestran las explicaciones.

(Nombre): El nombre no es nada, pero cuál es el nombre que nos gustaría darle al rango que especificamos.

Al nombrar la celda, no debe contener ningún carácter especial excepto el símbolo de subrayado (_), y tampoco debe contener espacios. No debe comenzar con valores numéricos.

(Se refiere a): Esto no es más que el rango de celdas al que nos referimos.

Creo que estos dos parámetros son lo suficientemente buenos para iniciar el proceso.

Paso 4: En el nombre, el argumento ingresa el nombre que desea dar. He nombrado como "SalesNumbers".

Código:

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

Paso 5: En referencia a un argumento, ingrese el rango de celdas que deseamos crear. En el nombre de la variable "Rng", ya hemos asignado el rango de celdas como A2 a A7, así que proporcione el argumento como "Rng".

Código:

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

Ok, este código creará un rango con nombre para las celdas de A2 a A7.

Ahora en la hoja de trabajo, he creado algunos 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

Esto calculará el monto de la ganancia en la celda denominada "Beneficio".

Articulos interesantes...