Cambiar nombre de un rango al cambiar una celda

Buenas tardes expertos

Necesito una macro con la que se puedan cambiar los nombres de un rango al cambiar una celda
Ejemplo
Tengo un rango (a5:b6) el cual se llama “nombres”


Necesito que al cambiar ejemplo la celda (“a1”) el rango (a5:b6) tome ese nuevo nombre, espero poderme explicar.


Muchas gracias por todo

Respuesta
1

Necesitas programar el evento worksheet_change de la celda A1 en ese hoja de esta manera

Public viejo
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Target.Address = "$A$1" Then
ActiveWorkbook.Names(viejo).Delete
nuevo = Target.Value
Range("a5:b6").Name = nuevo
End If
viejo = nuevo
End Sub

recuerda finalizar

Hola Luis Mondelo, muchísimas gracias por tu pronta y atinada respuesta.

La macro funciona muy bien, solo que tengo 2 duditas si me puedes ayudar:

1. Como activar esta macro cuando la casilla "$A$1" cambia su valor al modificar otra celda. ( El resultado de &A$1 se cambia automáticamente, porque la casilla tiene una fórmula)

2. Al cambia la casilla que activa la macro del procedimiento, ejemplo:

If Target.Address = "$B$3" Then

me funciona, pero si la casilla queda en blanco, y la casilla "B2" tiene un valor, me toma el valor que tiene la casilla "B2" y me genera un nuevo rango con ese nombre.

Muchas gracias Luis por tu ayuda

El evento change solo detecta un cambio provocado por el usuario en dicha celda, es decir, no se dispara cuando la celda cambia motivada por una fórmula.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas