Dar el valor de varias celdas al nombre de varias hojas

13/10/2009 - 11:26 por Javigonpe | Informe spam
Hola:
Estoy trabajando en un libro de excel que tiene varias hojas.
Me interesa asignar el valor de 10 celdas, que están en la misma hoja, al
nombre de 10 hojas del libro. El valor de las celdas es texto. El fin que al
introducir un valor o texto en las celdas cambie, de modo automático, el
nombre da la hoja que tenga asociada en ese caso.
Lo he intentado con las propiedades de la hoja en la parte del nombre pero
no funciona. Creo hay que hacer una macro en vb.
Gracias.

Preguntas similare

Leer las respuestas

#1 AnSanVal
13/10/2009 - 14:12 | Informe spam
Hola Javi.

Suponiendo el rango con los posibles nombres en A1:A10.

En el modulo de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then _
Sheets(Target.Row).Name = Target.Value
End Sub


Saludos: Antonio.
************************************
"Javigonpe" escribió en el mensaje
news:
Hola:
Estoy trabajando en un libro de excel que tiene varias hojas.
Me interesa asignar el valor de 10 celdas, que están en la misma hoja, al
nombre de 10 hojas del libro. El valor de las celdas es texto. El fin que al
introducir un valor o texto en las celdas cambie, de modo automático, el
nombre da la hoja que tenga asociada en ese caso.
Lo he intentado con las propiedades de la hoja en la parte del nombre pero
no funciona. Creo hay que hacer una macro en vb.
Gracias.
Respuesta Responder a este mensaje
#2 Javigonpe
15/10/2009 - 17:48 | Informe spam
"AnSanVal" escribió:

Hola Javi.

Suponiendo el rango con los posibles nombres en A1:A10.

En el modulo de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then _
Sheets(Target.Row).Name = Target.Value
End Sub


Saludos: Antonio.
************************************
"Javigonpe" escribió en el mensaje
news:
> Hola:
> Estoy trabajando en un libro de excel que tiene varias hojas.
> Me interesa asignar el valor de 10 celdas, que están en la misma hoja, al
> nombre de 10 hojas del libro. El valor de las celdas es texto. El fin que al
> introducir un valor o texto en las celdas cambie, de modo automático, el
> nombre da la hoja que tenga asociada en ese caso.
> Lo he intentado con las propiedades de la hoja en la parte del nombre pero
> no funciona. Creo hay que hacer una macro en vb.
> Gracias.

Hola Antonio:


Muchas gracias.
Y en caso de que no fuese un rango. Es decir, si quiero dar nombre a las
hojas a partir de celdas sueltas, seria este el código para el caso de que la
celda sea la A1 de la hoja1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, "Hoja1!A1")) Is Nothing Then _
Sheets(Target.Row).Name = Target.Value
End Sub



Gracias por el tiempo ençmpleado.
Respuesta Responder a este mensaje
#3 AnSanVal
15/10/2009 - 22:01 | Informe spam
Hola Javi.

Te bastaría con...

If Target.Address = "$A$1" Then Sheets(Target.Row).Name = Target.Value

... pero siempre cambiaría el nombre de la hoja 1 (Row de A1 siempre es 1).

El código que te ofrecí en mi anterior mensaje, funciona igual al que te ofrezco ahora, siempre que sólo modifiques A1.


Saludos desde Tenerife: Antonio.
***********************************************
"Javigonpe" escribió en el mensaje
news:


"AnSanVal" escribió:

Hola Javi.

Suponiendo el rango con los posibles nombres en A1:A10.

En el modulo de la hoja:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then _
Sheets(Target.Row).Name = Target.Value
End Sub


Saludos: Antonio.
************************************
"Javigonpe" escribió en el mensaje
news:
> Hola:
> Estoy trabajando en un libro de excel que tiene varias hojas.
> Me interesa asignar el valor de 10 celdas, que están en la misma hoja, al
> nombre de 10 hojas del libro. El valor de las celdas es texto. El fin que al
> introducir un valor o texto en las celdas cambie, de modo automático, el
> nombre da la hoja que tenga asociada en ese caso.
> Lo he intentado con las propiedades de la hoja en la parte del nombre pero
> no funciona. Creo hay que hacer una macro en vb.
> Gracias.

Hola Antonio:


Muchas gracias.
Y en caso de que no fuese un rango. Es decir, si quiero dar nombre a las
hojas a partir de celdas sueltas, seria este el código para el caso de que la
celda sea la A1 de la hoja1:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Application.Intersect(Target, "Hoja1!A1")) Is Nothing Then _
Sheets(Target.Row).Name = Target.Value
End Sub



Gracias por el tiempo ençmpleado.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida