Crear y renombrar hojas automáticamente.

Tengo un rango de celdas con 2 columnas: AD y AE. En la primera tengo metidos valores correlativos y en la segunda tengo metiendos también valores.
Necesito crear una macro que cuando la ejecute me cree tantas hojas nuevas como celdas ocupadas tengo en la columna 2 y me las renombre automáticamente con el nombre del valor correspondiente de la primera columna. Empieza por la celda AE3.
He creado la siguiente macro, pero se me queda bloqueada cuando llega a la línea que te subrayo en negrita.
Sub Añadir_Hoja2()   
    Dim Nombre_Hoja_Nueva As String       
    Worksheets("Datos"). Activate
     ActiveSheet.Range("AE2").Activate
    Do
        ActiveCell.Offset(1, 0).Activate
        Nombre_Hoja_Nueva = ActiveCell.Offset(0, -1).Value
        Sheets.Add
        ActiveSheet.Name = Nombre_Hoja_Nueva
        Worksheets("Datos").Activate
    Loop While Not IsEmpty(ActiveCell)
End Sub

1 Respuesta

Respuesta
1
Lo que puede ocurrir es que alguna celda no tenga un valor apropiado para un nombre de hoja, o que existan valores repetidos en la col lo que hace que dé error por intentar nombrar una hoja con un nombre que ya existe...
Si aún no lo tenés resuelto, comentame si ninguna hoja se creó o falla en la última... no lo revisé al cód pero quizás esté ejecutándose con una celda vacía.
Sdos.
Elsa
PD) 50% de dcto en manuales y guías Excel durante diciembre... no te los pierdas !
¿Qué pasó con la consulta? Si necesitas alguna aclaración podes volver a preguntar, de lo contrario no olvides finalizarla.
Sdos
Elsa
Ya lo he solucionado.
Sub Añadir_Hojas_y_renombrar()
    Dim Nombre_Hoja_Nueva As String
    Worksheets("Datos").Activate
    ActiveSheet.Range("AE2").Activate
    Do While Not IsEmpty(ActiveCell)
        Nombre_Hoja_Nueva = ActiveCell.Offset(0, -1).Value
        ActiveCell.Offset(1, 0).Activate
        Sheets.Add
        ActiveSheet.Name = Nombre_Hoja_Nueva
        Worksheets("Datos").Activate
    Loop
End Sub
Debe ser por una planificaicón de las instrucciones a seguir, el caso es que ahora funciona perfectamente.
Muchas gracias de todos modos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas