¿Como Nombrar Rango Variable VBA?

Tengo una macro que nombra un Rango pero este es variable

ActiveWorkbook.Names.Add Name:="Pendientes", RefersToR1C1:="=Sheet!RC2:RC10"

2 Respuestas

Respuesta
2

¿Y qué quieres hacer variable, las filas, las columnas?

Por ejemplo:

Sub rango()
    fini = 3    'fila inicial
    ffin = 5    'fila final
    cini = 2    'columna inicial
    cfin = 12   'columna fina
    'ActiveWorkbook.Names.Add Name:="Pendientes", RefersToR1C1:="=Sheet!RC2:RC10"
    ActiveWorkbook.Names.Add Name:="Pendientes", RefersToR1C1:="=Sheet!R" & fini & "C" & cini & ":R" & ffin & "C" & cfin
End Sub

Esto es lo que selección y nombre el rango pero las filas son variables

Range("B2:J2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="Pendientes", RefersToR1C1:="=Sheet!RC2:RC10"

Cambia estas líneas:

Range("B2:J2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="Pendientes", RefersToR1C1:="=Sheet!RC2:RC10"

Por estas:

    u = Range("B" & Rows.Count).End(xlUp).Row
    Sheets("Sheet").Range("B2:J" & u).Name = "pendientes"

[No olvides valorar la respuesta.

Respuesta
1

Esta instrucción a partir de la celda b2 crea una región de datos hacia arriba, hacia abajo, izquierda y derecha se detendrá hasta donde encuentre una fila o columna vacía

Worksheets("hoja1").Range("b12").CurrentRegion.Name = "pendientes"

Y si agregas una columna o fila la instrucción la incluirá la siguiente vez que la ejecutes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas