14 May Crear backups o respaldos cada n tiempo en Excel (macro)
Crear backups o respaldos cada n tiempo en Excel (macro)
¿Cómo podemos crear backups o respaldos automáticos cada un cierto período de tiempo y mediante el uso de macros en Excel?
La siguiente macro nos permite generar copias automáticas de un archivo a medida que realizamos cambios y cada n tiempo predefinido mediante macros de forma rápida y fácil en Excel.
Debemos copiar dos códigos dentro de la ventana de VBA. La instrucción a copiar dentro de un nuevo módulo de vba es la siguiente:
CREAR BACKUPS O RESPALDOS CADA N TIEMPO EN EXCEL (MODULO)
Public ProximaCopia As Date
Public UltimoGuardado As Date
Sub IniciarBackups()
UltimoGuardado = Now
CrearBackup
ProgramarBackup
End Sub
Sub ProgramarBackup()
'cada N tiempo
ProximaCopia = Now + TimeValue("00:00:10")
Application.OnTime _
EarliestTime:=ProximaCopia, _
Procedure:="EjecutarBackup"
End Sub
Sub EjecutarBackup()
'solo si hubo cambios
If ThisWorkbook.Saved = False Then
CrearBackup
End If
ProgramarBackup
End Sub
Sub CrearBackup()
Dim carpeta As String
Dim nombre As String
carpeta = "C:\Users\Adrian\Desktop\Excel\"
nombre = Left(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name, ".") - 1) & _
"_" & Format(Now, "yyyymmdd_hhmmss") & ".xlsm"
ThisWorkbook.SaveCopyAs carpeta & nombre
UltimoGuardado = Now
End Sub
Sub DetenerBackups()
On Error Resume Next
Application.OnTime _
EarliestTime:=ProximaCopia, _
Procedure:="EjecutarBackup", _
Schedule:=False
End Sub
|
Y la instrucción a copiar dentro de «ThisWorkbook» del proyecto VBA es la siguiente:
CREAR BACKUPS O RESPALDOS CADA N TIEMPO EN EXCEL (THISWORKBOOK)
Private Sub Workbook_Open()
IniciarBackups
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
DetenerBackups
End Sub
|
Notar que dentro del módulo configuramos un tiempo de 10 segundos en la línea de código ProximaCopia = Now + TimeValue(«00:00:10») (a modo didáctico para los videos explicativos), y debemos modificar en base al tiempo que necesitemos para generar los backups o respaldos. También debemos modificar la ruta a la carpeta donde deseamos guardar dichos archivos, en el ejemplo la línea de código a modificar es carpeta = «C:\Users\Adrian\Desktop\Excel\»
Es importante que la carpeta esté creada antes de ejecutar el archivo con la ruta configurada, caso contrario devolverá error al abrir el archivo. Primero configurar la ruta en Excel, guardar y cerrar, crear la carpeta y finalmente abrir el archivo para iniciar la macro de forma automática.
Por último, recordar que la macro realiza una copia inicial al abrir el archivo y creará nuevos respaldos/backups cada 10 segundos siempre y cuando se hayan hecho modificaciones en el archivo, caso contrario no creará dichas copias, a fin de no generar archivos iguales que ocupen espacio de almacenamiento.
De esta forma logramos crear backups o respaldos cada cierto período de tiempo de forma rápida y fácil mediante macros en Excel.
Te recomiendo ver el siguiente link con más videos de Macros útiles de Excel AQUÍ.
¿No sabés como instalar esta macro? ¡No te preocupes! Aquí está la solución:
TUTORIALSalvo aclaración, todas las fórmulas y macros de este sitio están configuradas para aplicarse sobre la celda A1. Algunas fórmulas se encuentran encerradas entre llaves {} debido a que son fórmulas matriciales. Estas llaves no deben introducirse tecleándolas, sino que se generan automáticamente al aceptar la fórmula pulsando Control+Shift+Enter al mismo tiempo. Las fórmulas de este sitio son compatibles con versiones de Microsoft Excel® 2010 o superiores.
