Ahora veremos como ejecutar una macro al abrir libro excel, en esta pagina he insistido mucho en la potencia que tiene excel para facilitar nuestras labores, tanto con el uso de formulas como macros, un ejemplo de ello son las apps contables que he desarrollado, en ellas se puede ver como el trabajo que te llevaría horas de la manera tradicional, ahora se puede hacer en solo minutos o segundos.
Imagina poder generar reportes o cálculos incluso sin mover un dedo, tan solo con el hecho de abrir un libro excel, pues precisamente ese es el tema de hoy, vamos a ver como ejecutar una macro al abrir un libro.
Marcar facturas que se deben pagar
La idea es muy simple, tenemos una hoja de facturas por pagar y queremos que justo al abrir el libro se ejecute una macro que marcara las facturas que ya están vencidas y se deben pagar.
En la hoja de facturas por pagar ya hay una formula que nos indica los días que han pasado desde que la factura fue emitida, si el numero de días es cero o negativo, significa que la factura ya esta vencida.
Cuando la factura ya esta vencida, la macro pondrá el texto “Pagar” y cambiara el color de fondo de esa celda, en este caso sera amarillo.
La macro
El siguiente código se debe colocar en un modulo de VBA, para ello solo debes presionar las teclas ALT – F11 para abrir el editor, click derecho en el nombre del proyecto de la hoja activa y click en insertar modulo, en ese modulo pega el código.
Sub Vencidas()
Dim ws As Worksheet
Dim celda, celdas As Range
Set ws = Worksheets("Datos")
Set celdas = ws.Range("A2", Range("A2").End(xlDown))
For Each celda In celdas
If celda.Offset(0, 5).Value <= 1 Then
celda.Offset(0, 6).Value = "Pagar"
celda.Offset(0, 6).Interior.ColorIndex = 27
Else
celda.Offset(0, 6).Interior.Pattern = xlNone
celda.Offset(0, 6).Value = ""
End If
Next celda
End Sub
Como ejecutar esa macro al abrir el libro
Para que esa macro se ejecute automáticamente al abrir el libro, se requiere programar una macro de evento, en este caso el evento sera la apertura del libro.
Estando en excel, presiona las teclas ALT – F11 de ese modo se abre el editor de visual basic, abre el proyecto del libro donde estas trabajando y da doble click en ThisWorkbook, luego pones el siguiente código.
Private Sub Workbook_Open()
Call Vencidas
End Sub
De ese modo la macro se ejecutara automáticamente cada vez que se abra el libro y marcara las facturas que esten vencidas.
Evidentemente este es solo un ejemplo, pero tu puedes hacer esto para cualquier cosa que necesites que se haga justo al abrir el libro excel.