30 macros útiles y sencillas: Ejecutar macro a una hora determinada

En esta ocasión vamos a ver cómo podemos programar Excel para que automáticamente ejecute una macro a una hora que especifiquemos por ejemplo, que se guarde automáticamente el libro de trabajo 5 minutos antes de que sea la hora del almuerzo.

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("11:55:00"), "MedioDia"

End Sub

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.

La segunda línea es la aplicación del método OnTime de Excel con la cual estamos indicando que a la hora (TimeValue) 11:55 am, se deben ejecutar la macro “MedioDia” la cual vamos a programar en un Módulo:

Para programar la macro “Descanso” 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 MedioDia()

ActiveWorkbook.Save

MsgBox "Se ha Guardado el Libro. Faltan 5 minutos para el medio dia"

End Sub

La primera y última línea marcan el inicio y el fin de la macro llamada MedioDia y dentro de ésta tenemos la segunda línea que ejecuta el proceso de Guardado del libro de trabajo (ActiveWorkbook.Save) y la tercera línea (MsgBox) presenta un mensaje donde se informa sobre el proceso de guardado y del tiempo.

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

TimeValue("11: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.