Necesito una macro que copie una hoja y le cambie el nombre por el valor de una celda

Tengo ya una macro, la cual cambia el nombre por la fecha actual

Sub ReplicarHojaActual()
Sheets("Control de tareas").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = Day(Now())
End Sub

En la fila

ActiveSheet.Name = Day(Now())

La cambie por

ActiveSheet.Name = Range ("D14").Value

Tomando en cuenta que quiero que el nombre de la hoja sea el valor de la celda D14, pero no funciona.

2 Respuestas

Respuesta
2

Los códigos que escribes son correctos, pero no esta trayendo la información que necesitas. Te explico al momento de escribir : Sheets("Control de tareas").Copy After:=Sheets(ActiveWorkbook. Sheets. Count) creas una nueva hoja y claro te posesionas en esta nueva hoja en la cual la celda D4 no tiene valores, y al no tener valores no le estas poniendo ninguno a tu hoja. Prueba con la siguiente rutina y fijate en el cambio

Sub ReplicarHojaActual()
nombre = Range("D4").Value
Sheets("Control de tareas").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = nombre
End Sub

Primero obtengo el valor de la celda D4 y luego utilizo ese valor para nombrar la nueva hoja creada.

Excelente funciona de maravilla, muchas gracias. No soy muy experto en macros. Ahora tengo una duda como hago para que cuando no haya valor en la celda D4 me aparezca un mensaje que diga no se puede copiar hoja porque no hay un valor en la celda D4?

Mil gracias!!!! de nuevo

Hola! fijate que revise unas de las preguntas que están resultas por tu persona y ya tengo resuelto la segunda pregunta que hice. Ahora solo me queda una mas, como haga que la hoja principal quede en blanco es decir.

Tengo un formulario en donde coloco nombre y cuando copio la hoja la casilla en donde coloque el nombre quede en blanco de nuevo.

Gracias!

Trata de siempre finalizar la pregunta que ya te han respondido, y si tienes otra duda envíala nuevamente al foro, esto lo digo porque te puedes quedar colgado con la pregunta si es que el usuario que esta respondiendo tu pregunta no contesta por mucho tiempo.

En todo caso siguiendo los códigos iniciales la rutina sería:

Sheets("Control de tareas"). Range("D4"). ClearContents

Respuesta

Se puede copiar una hoja, renombrarla, y en la nueva, mantener los vínculos a las celdas, pero de la nueva creada!?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas