Crear backup de un archivo de excel

Agradezco la colaboración que me puedas brindar con esto, quiero crear un macro que me haga un backup de un archivo de excel que se llama información, que realice la copia todos los días a las 5:30 pm y que se cree la copia de este archivo en c en una carpeta llamada copia información pero que cuando cree la copia esta tenga el nombre del día que se realiza esta (esta fecha la tomaría del sistema)
Respuesta
1
Puedes crear una macro que haga la copia incorporando en el nombre la fecha del sistema. Eso no es complicado. Lo que no es posible es que la macro se ejecute automáticamente a las 5:30 pm, ni a ninguna hora.
Para hacer una copia automática a una hora programada, de cualquier archivo, sea Excel o no, tendrías que hacerlo desde el sistema operativo Windows.
No obstante, si es a las 17:30, tal vez lo que busques es tener automáticamente una copia de seguridad diaria de la hoja cuando finalices la jornada. Si es eso lo que necesitas, bastaría con ejecutar automáticamente la macro cada vez que cierras la hoja. De esa forma, siempre tendrías una copia diaria.
Espero que te sirva esta solución. Si es así, y quieres que te lo haga, dímelo.
Si te agradecería mucho que me colaboraras con esta macro.
Gracias
Alejo
Te copio más abajo dos macros.
La primera hace una copia de tu archivo Excel en la misma carpeta. El nombre de la copia es el mismo pero incorporando la fecha en formato YYYY. MM. DD, aunque le puedes poner fácilmente el formato que quieras tú mismo.
La segunda macro para lo que sirve es para que se realice la copia automáticamente cada vez que cierres el fichero.
Si se ajusta a tus necesidades, no olvides finalizar la pregunta. En caso contrario, dímelo.
Saludos
Angel
++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub RealizaCopia()
    PathActual = ActiveWorkbook.Path
    NombreLibro = PathActual + "\" + ActiveWorkbook.Name
    NombreCopia = Mid(NombreLibro, 1, Len(NombreLibro) - 4) + "_" + Format(Date, "YYYY.MM.DD") + ".xls"
    ActiveWorkbook.SaveCopyAs Filename:=NombreCopia
    MsgBox ("COPIA REALIZADA")
End Sub

++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Sub Auto_Close()
    RealizaCopia
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas