Ejecutar macro a unos minutos de abrirse archivo de excel

Tengo una macro que actualiza los datos de un archivo de excel, me he dado cuenta que este proceso se realiza muy rápido y que la macro realiza una copia de seguridad pero antes de que todos mis datos se actualicen, ¿hay alguna manera de especificar que la macro se ejecute un minuto después de abrirse el archivo de excel?

1 Respuesta

Respuesta
1

Prueba con lo siguiente:

Private Sub Workbook_Open()
'
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    ThisWorkbook. RefreshAll
    '
    'Espera un minuto
    DoEvents
    Application. Wait Now + TimeValue("00:01:00")
    DoEvents
    '
    Sheets. Copy
    For Each hoja In ActiveWorkbook.Sheets
        Hoja. Cells. Copy
        Hoja. Range("A1"). PasteSpecial xlValues
    Next
    ruta = ThisWorkbook.Path & "\"
    arch = Format(Date, "dd-mm-yyyy") & ".xlsx"
    ActiveWorkbook.SaveAs Filename:=ruta & arch, _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
    ActiveWorkbook.Close
    'ThisWorkbook.Close False
End Sub

Si quieres que espere 2 minutos, quedaría así:

 Application. Wait Now + TimeValue("00:02:00")

Si quieres 1 y medio:

 Application. Wait Now + TimeValue("00:01:30")

Prueba la macro con las instrucciones DoEvents y sin ellas, revisa los resultados.


.

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

.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas