Rango con nombre de VBA

Rango con nombre de Excel VBA

Cuando trabajamos con una gran cantidad de datos para evitar hacer referencia a una celda o rangos de celdas en particular, 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 referirnos a esas celdas ingresando esos nombres definidos en lugar de las referencias habituales de fila o columna.

Puede descargar esta plantilla de Excel de rango con nombre de VBA aquí - Plantilla de Excel de rango con nombre de VBA

¿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.

Para ver un ejemplo, mire la imagen de abajo.

Para obtener 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" en 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: Uso de 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 más que 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 el argumento se refiere a 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.

En la celda A8, quiero tener el total de los números de celda anteriores. Usando rango con nombre, crearemos una SUMA de estos números.

Código:

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

Si ejecuta este código manualmente o presionando la tecla f5, obtendremos el total de un rango con nombre en la celda A8.

Estos son los datos básicos que debe conocer sobre los "rangos con nombre".

Ejemplo # 2

En VBA usando el objeto RANGE, podemos referirnos a las celdas. De manera similar, también podemos referirnos a esas celdas usando rangos con nombre.

Por ejemplo, en el ejemplo anterior, hemos nombrado la celda B2 como "Ventas" y B3 como "Costo" .

Al usar la referencia de celda real, nos referimos a esas celdas como esta.

Código:

 Sub NamedRanges () Range ("B2"). Seleccione 'Esto seleccionará el rango de celdas B2 ("B3"). Seleccione' Esto seleccionará la celda B3 End Sub 

Como ya creamos estas celdas, podemos referirnos a usar esos nombres como el siguiente.

Código:

 Sub NamedRanges () Rango ("Ventas"). Seleccione 'Esto seleccionará la celda denominada "Ventas", es decir, Rango de celda B2 ("Costo"). Seleccione' Esto seleccionará la celda denominada "Costo", es decir, celda B3 Fin Sub 

De esta manera, usando rangos con nombre, podemos hacer uso de esas celdas. Usando estos nombrados podemos calcular el monto de la ganancia en la celda B4. Para este primer nombre la celda B4 como Beneficio.

Ahora, en el editor de VBA, aplique este código.

Código:

 Sub NamedRanges_Example1 () Rango ("Beneficio"). Valor = Rango ("Ventas") - Rango ("Costo") Fin Sub 

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