Cambiar nombre a hoja

Hola...
(En la línea de una consulta reciente): Deseo copiar una hoja, moverla al final (hasta aquí bien) y ponerle el nombre que va en una determinada celda.
A ver si es posible. Gracias.

1 Respuesta

Respuesta
1
Supongo que lo quieres hacer con una macro. El código sería este:
Sub RenombrarHoja ()
Sheets("Hoja2").Name = Worksheets("Hoja1").Range("A1").Value
end Sub
En este caso el nombre está en la Hoja1 y celda A1. Dicho nombre se asigna a la hoja llamada "Hoja2". Tendrás que cambiar los nombres de acuerdo a tus necesidades.
Sí, es para una macro. El problema que encuentro (a voz de pronto, pero que creo solucionable) es que al hacerlo por segunda vez... ya no hay hoja 2. O sea, yo pretendo hacer copia de una hoja, cambiarle el nombre y ponerla al final (o al revés); y así sucesivamente... Pienso que estos pasos los puedo incluir en la macro final, ya que no requiere de programación: hago copia de una hoja (llamada "base"), por lo que se pasará a llamar "base (2)"; la coloco al final. En esta macro incluyo el código manejando los nombres de estas 2 hojas... "base (2)" pasará a llamarse como yo haya indicado, y así sucesivamente. Qué te parece.
Prueba con el siguiente código. Este no usa los nombres sino el número para referirse a la hoja creada. Así aun cuando cambie seguirá teniendo la misma referencia.
Sub AñadeHojaconNombre ()
Cells.Select  'Selecciona la hoja activa en el momento de ejecutar la macro
Selection. Copy 'La copia
Sheets.Add After:=Sheets(Sheets.Count) 'Añade una hoja al final
ActiveSheet.Paste 'Pega la hoja copiada
Sheets(Sheets.Count).name = Worksheets("base").Range("A1").Value 'cambia el nombre
end Sub
Creo que esto se ajusta más a lo que indicas. Unicamente asegúrate de estar en la hoja a copiar antes de ejecutar la macro y modificar en la última línea de qué celda y hoja extraes el nombre para la hoja.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas