30 macros útiles y sencillas: Copias de seguridad

Ahora que ya sabemos cómo ejecutar macros a una hora específica y también sabemos cuál es el código para ejecutar el cuadro de dialogo Guardar como, vamos a hacer una combinación de ambos métodos para diseñar una macro que nos sirva para hacer copias de seguridad.

Lo primero que vamos a hacer es ingresar al Editor de Visual Basic y para ello desde la primera hoja utilizaremos la combinación de teclas Alt + F11:

Nos ubicamos en la ventana del Explorador de Proyectos que tenemos en el panel izquierdo de la ventana del Editor de Visual Basic y damos doble clic sobre el Objeto ThisWorkbook

Private Sub Workbook_Open()

Application.OnTime TimeValue("09:00:00"), "Copia"

Application.OnTime TimeValue("10:00:00"), "Copia"

Application.OnTime TimeValue("11:00:00"), "Copia"

Application.OnTime TimeValue("12:00:00"), "Copia"

Application.OnTime TimeValue("13:00:00"), "Copia"

Application.OnTime TimeValue("14:00:00"), "Copia"

Application.OnTime TimeValue("15:00:00"), "Copia"

Application.OnTime TimeValue("16:00:00"), "Copia"

Application.OnTime TimeValue("17:00:00"), "Copia"

End Sub

Lo que estamos haciendo es programando Excel para que cada hora a partir de las 09:00:00 y hasta las 17:00:00 se ejecute la macro “Copia”

La primea línea marca el principio de la macro y vamos a desglosar esta línea para entender un poco mejor esta macro:

Private Sub: significa Subrutina (Sub) o macro de acceso Privado (Private) y este acceso se aplica cuando se intenta ejecutar desde otra macro.

Workbook: Corresponde a la indicación de que la macro se aplicará sobre el libro de Excel que en ingles se denomina Workbook.

Open: Corresponde al evento Abrir, es decir, cuando se abra el libro de trabajo se van a ejecutar unas líneas de código.

En resumen, esta primera línea se interpreta como macro que se ejecutará al momento de abrirse el libro de trabajo.

Las demás líneas (excepto la ultima) son la aplicación del método OnTime de Excel con la cual estamos indicando a una hora la ejecución de la macro “Copia” la cual vamos a programar en un Módulo:

Para programar la macro “Copia” primero debemos insertar un Módulo en el Editor de Visual Basic y para ello nos ubicamos en el Explorador de Proyectos sobre el objeto ThisWorkbook, damos clic derecho, seleccionamos la opción Insertar y elegimos Módulo:

Ahora veremos que en el Explorador de Proyectos dentro de nuestro libro de trabajo tenemos un nuevo objeto llamado Módulo1. Damos doble clic sobre este Módulo1 para insertar código en el espacio de edición de la derecha y pegamos el siguiente código:

Sub Copia()

On Error Resume Next

Application.GetSaveAsFilename.Show

End Sub

La primera y última línea marcan el inicio y el fin de la macro llamada Copia y dentro de ésta tenemos:

On Error Resume Next: es el código con el cual se hace el manejo de los errores que se puedan presentar en la ejecución de la macro para que en caso de que se presente un error, la macro no se detenga abruptamente si no que se detenga su ejecución sin afectar la operación del libro de trabajo.

Application.GetSaveAsFilename.Show: línea que ejecuta el proceso de presentar (Show) el cuadro de diálogo Guardar Como de Excel (GetSaveAsFilename).

Ya con esto se puede guardar una copia del archivo en una ruta especificada cada hora.

De acuerdo a sus preferencias, pueden ajustar la hora de ejecución de la macro modificando la propiedad TimeValue:

TimeValue("16:55:00")

Descargar archivo de trabajo.

MÁS SOBRE

Gerencie.com en su correo.

Suscríbase y nosotros colocaremos en su bandeja de entrada la mejor información que generamos diariamente.

Siéntase libre de opinar

En Gerencie.com está permitido opinar, criticar, discutir, controvertir, disentir, etc. Lo que no está permitido es insultar o escribir palabras ofensivas o soeces. Si lo hace, su comentario será rechazado por el sistema o será eliminado por el administrador. Por último, trate de no escribir en mayúscula sostenida, resulta muy difícil leerle.