30 macros útiles y sencillas: Abrir archivo desde cuadro de diálogo

Ya hemos visto cómo podemos utilizar Excel para que automáticamente se pueda ejecutar una macro a determinada hora donde la acción que se ejecutaba era guardar el libro de trabajo; vamos a utilizar en esta ocasión un código no para guardar sino para que nos dé la posibilidad de abrir otro libro de trabajo; supongamos un escenario donde debemos dejar el registro de las horas laboradas justo antes de terminar la jornada laboral en un libro destinado para ello.

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("16:55:00"), "Abrir"

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) 4:55 pm, se deben ejecutar la macro “Abrir” la cual vamos a programar en un Módulo:

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

On Error Resume Next

Application.FileDialog(msoFileDialogOpen).Show

End Sub

La primera y última línea marcan el inicio y el fin de la macro llamada Abrir 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.FileDialog(msoFileDialogOpen).Show: línea que ejecuta el proceso de presentar (Show) el cuadro de diálogo Abrir de Excel (FileDialog(msoFileDialogOpen).)

Ya con esto se puede ubicar y abrir el archivo necesario para registrar las horas laboradas.

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.