RANGO nombrado con el valor de una celda y además sea auto actualizable

¿Existe alguna forma en que un RANGO pueda ser nombrado con el valor de una celda?, por ejemplo:

Que el RANGO A1:D5 de la hoja2 tenga el nombre del valor de la celda A1 de la hoja1, además debe auto actualizarse de tal forma que si escribo algo bajo el rango, esto pase automáticamente a ser parte del rango (como en las lista normales de excel realizadas con el menú insertar).

3

3 respuestas

Respuesta
1

Hol.a

La única forma de que un rango tenga por nombre el valor de una celda es a través de macros ya que las herramientas propias del Excel no permiten asignar el nombre de dicho rango desde otra celda.

Lo de hacer que el rango sea "dinámico" sí se puede haciendo uso de la función "Desref". Cuando asignas un nombre al rango en "ser refiere" colocas esto:

=DESREF($A$1;0;0;CONTARA($A:$A);4)

El rango irá incrementándose cuando vayas agregando datos a las siguientes filas.

Abraham Valencia

PD: No olvidar que en este caso he colocado "punto y coma" como separador de lista, en algunas computadoras puede ser solo "coma"

Respuesta
1

Esteban Lagos,

Adjunto en enlace archivo excel el desarrollo de tu consulta para su revisión.

Para el desarrollo de tu consulta se elaboró una macros de eventos, evento CHANGE en el módulo de hoja, que inmediatamente después de ingresar el nuevo nombre del rango en la celda B2 está se actualiza y asigna el nuevo nombre al rango de celdas predeterminado. Cabe mencionar que es necesario de una celda auxiliar (B1) para el correcto funcionamiento de la macro.

Rango nombrado con el valor de una celda y además sea autoactualizable

Espero que te sirva de ayuda y este acorde a tu necesidad. Cualquier consulta estaré atento.

Por favor no olvidar de valorar las respuestas.

Respuesta
1

En el modulo de la hoja2 coloca la siguiente macro, cada que escribas algo abajo del rango este en automático se integrara al rango

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Worksheets("hoja2").Range("a1").CurrentRegion.Name = _
Worksheets("hoja1").Range("a1")
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas