Jump to content

[SOLUCIONADO] formula para cambiar nombre de hoja


Recommended Posts

Hola a todos; necesito una ayuada urgente

Necesito una formula o macro en donde se cambia el nombre de la hoja al cambiar el contenido de una celda. por ejemplo si la hoja en la celda A1 dice Caja que se copie ese texto como nombre de de la hoja y se modifica que se cambie automaticamente

saludos, y esperop una respuesta rapidoooo.

gracias

Link to post
Share on other sites

Respuesta: formula para cambiar nombre de hoja

Suponiendo que la celda de entrada es A1, copia este código en la hoja en que deseas que se ejecute:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

para copiar el código en la hoja, sobre la pestaña de la hoja con el botón derecho del ratón, seleccionas "ver código", ahí se abre el editor de VB y ahí, en el espacio en blanco, copias el código.

Link to post
Share on other sites

Re: Respuesta: formula para cambiar nombre de hoja

Suponiendo que la celda de entrada es A1, copia este código en la hoja en que deseas que se ejecute:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

para copiar el código en la hoja, sobre la pestaña de la hoja con el botón derecho del ratón, seleccionas "ver código", ahí se abre el editor de VB y ahí, en el espacio en blanco, copias el código.[/quote

Mauricio= peghue elcopdogo en la pestaña solo cambie y puse $J$11 puse un punto de interrupcion, pero no entra porque TARGET.Adress es igual a J11 y no pasa por el then

saludos y gracias

juandi

Link to post
Share on other sites

Respuesta: formula para cambiar nombre de hoja

Pues no entiendo muy bien cuál es problema, si cambias $A$1 por $J$11 igual debería funcionar.

También podrías usarlo así si prefieres:

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(0, 0) = "J11" Then ActiveSheet.Name = Target.Value

End Sub

lo he probado acá con "$J$11" y me funciona bien, mira el adjunto.

PruebaNombreHoja.zip

Link to post
Share on other sites

Respuesta: formula para cambiar nombre de hoja

y en caso de que en algún momento se borre el valor de la celda J11 (que podría pasar) para evitar el error que se produciría, puedes usar:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$11" And Target <> Empty Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

o

[CODE]Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "J11" And Target <> Empty Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

Link to post
Share on other sites

Re: Respuesta: formula para cambiar nombre de hoja

y en caso de que en algún momento se borre el valor de la celda J11 (que podría pasar) para evitar el error que se produciría, puedes usar:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$J$11" And Target <> Empty Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

o

[CODE]Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "J11" And Target <> Empty Then ActiveSheet.Name = Target.Value
End Sub[/CODE]

Mauricio: ahora si anda perfecot yo cambio el contenido de laclda j11 y automaticamente cambia el nombre de la hoja; aprovecho tu volunatad para preguntarte otra cosa, yo realize una macro que crea una (presionando un boton) en uan hoja ahora como hago para que esta nuva hoja tenga el codigo que me pasaste, lo agrego en mi macro realizada en el modulo llamada crear_hoja o el excel se puede configurar para que todas la hoja que esten en ese libro se llamen como el contenido de la celda j11.

gracias.

Link to post
Share on other sites

Re: Respuesta: formula para cambiar nombre de hoja

Mauricio: ahora si anda perfecot yo cambio el contenido de laclda j11 y automaticamente cambia el nombre de la hoja; aprovecho tu volunatad para preguntarte otra cosa, yo realize una macro que crea una (presionando un boton) en uan hoja ahora como hago para que esta nuva hoja tenga el codigo que me pasaste, lo agrego en mi macro realizada en el modulo llamada crear_hoja o el excel se puede configurar para que todas la hoja que esten en ese libro se llamen como el contenido de la celda j11.

gracias.

Mauricio: probando lo que me pasaste anda para todas las hoja que creo, pero con mi macro de crear NO, el codio es

ActiveSheet.Name = Range("j11").Text

hoja = Range("j11").Text

Sheets("+ hoja + ").Copy Before:=Sheets(41)

la variable hoja me da error de subindice de intervalo. si dejo el nombre fijo no funciona, me explico. espero que no me sigas atendiedo te agradezco

salidos

Link to post
Share on other sites

Respuesta: Re: Respuesta: formula para cambiar nombre de hoja

...espero que no me sigas atendiedo te agradezco

salidos

Bueno, supongo que querías decir lo contrario... :D si no pues igual ahí te echo una mano, aunque aún no tengo muy claro que es lo que estás haciendo.

Revisa el adjunto, tiene una macro de evento en ThisWorkbook, las hojas serán llamadas según el valor que tengan en J11 (si hay dos nombres iguales se producirá un error, por lo que he añadido un mensaje para evitar esto), incluidas todas las hojas nuevas que crees ya sea con macros o copiandolas o añadiendolas manualmente.

No sé si te esté entendiendo bien.

En cuanto al código:

ActiveSheet.Name = Range("j11").Text

hoja = Range("j11").Text

Sheets("+ hoja + ").Copy Before:=Sheets(41)

lo único que se me ocurre que te podría producir ese error es que no tengas una hoja llamada "+ hoja + ", si no tienes una hoja con ese nombre y lo ejecutas te arrojará ese error.

bueno, revisa el adjunto y vamos mirando si por ahí es...

PruebaNombreHoja (2).zip

Link to post
Share on other sites

Re: Respuesta: Re: Respuesta: formula para cambiar nombre de hoja

Bueno, supongo que querías decir lo contrario... :D si no pues igual ahí te echo una mano, aunque aún no tengo muy claro que es lo que estás haciendo.

Revisa el adjunto, tiene una macro de evento en ThisWorkbook, las hojas serán llamadas según el valor que tengan en J11 (si hay dos nombres iguales se producirá un error, por lo que he añadido un mensaje para evitar esto), incluidas todas las hojas nuevas que crees ya sea con macros o copiandolas o añadiendolas manualmente.

No sé si te esté entendiendo bien.

En cuanto al código:

lo único que se me ocurre que te podría producir ese error es que no tengas una hoja llamada "+ hoja + ", si no tienes una hoja con ese nombre y lo ejecutas te arrojará ese error.

bueno, revisa el adjunto y vamos mirando si por ahí es...

Mauricio: prové el adjunto y lo copie en mi macros y anda todo perfecto. Es justo lo que necesitaba. Te agradezco mucho por tu ayuda, demas está decir lo bueno que está el foro. bueno un saludo grande desde Córdoba Argentina

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

Privacy Policy