Macro para guardar ciertas hojas con nombre dinámico en un nuevo libro

Tengo una macro que la pestaña flujo sirve de formulario para llenar ciertos datos, terminando el proceso, se genera una hoja nueva con la fecha y a que turno corresponde.

En un día tengo tres turnos, por ende cuando realizo mi ultimo reporte(TURNO 3) me genera las hojas en el mismo libro, como pudiese generar un archivo nuevo con el nombre "Flujo 18-07-2016".

El nombre de las hojas lo hago por medio de vba 

1 respuesta

Respuesta
1

Después de generar el último turno, ejecuta la siguiente macro

Sub CopiarHojas()
'Por.Dante Amor
    Dim hojas()
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    fecha = Format(Date, "dd-mm-yyyy")
    n = -1
    For Each h In Sheets
        If Left(h.Name, 10) = fecha Then
            n = n + 1
            ReDim Preserve hojas(n)
            hojas(n) = h.Name
        End If
    Next
    If n > -1 Then
        Sheets(hojas).Copy
        ActiveWorkbook.SaveAs "Flujo " & fecha & ".xlsx"
        ActiveWorkbook.Close
    End If
End Sub

La macro buscará las hojas que tengan la misma fecha al día de la ejecución, es decir, si la ejecutas el 19 de julio, la macro buscar las hojas que empiecen con 19-07-2016; y generará un nuevo archivo con las hojas.

'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas