Qué son los eventos en VBA?

Dentro de VBA podemos escribir macros que accionaremos mediante un botón u otra macro y también podemos describir ciertas acciones automáticas que se ejecutaran en algunas circunstancias. Esta automatización de Excel mediante código son los eventos en VBA.

Un evento no es nada más  que un pedacito de código que actúa cuando el usuario ha introducido ciertos parámetros que el sistema reconoce y normalmente están relacionados con los objetos de Excel (celdas, rangos, hojas, libros…).

Ejemplos

Estos pedacitos de código puede hacer casi cualquier acción. Por ejemplo, yo tengo un libro de Excel con contraseñas para cada día de la semana. Como soy un poco vago decidí crear un evento que automáticamente cuando abra el libro me diga la contraseña que cada día tengo que utilizar y me la ponga en una celda en concreto. De esta manera, sólo tengo que abrir el libro y copiar el valor de la celda (no gasto mi memoria en recordarla ni en buscarla).

Otro ejemplo que uso es un libro de Excel que cuando doy al botón de guardar me lleva a una página en concreto para que así siempre se abra en la misma celda y en la misma hoja.

En otro Excel lo que siempre hago es que cada vez que lo cierro pone el zoom en todas las hojas al 100% y en la celda A1 de cada hoja.

Bien, estos son sólo unos pocos ejemplos pero hay muchos otros que pueden resultar muy interesantes…

¿Cómo crear los eventos en VBA?

Dependerá del tipo de objeto sobre el que quieras actuar. Vamos a ver un ejemplo que siempre es más claro así.

Nuestro objetivo será crear un libro de Excel que cada vez que abramos nos de los buenos días. Para ello usaremos la sentencia de VBA:

Msgbox "Buenos días Quique"

Para insertar este evento en VBA vamos a la ventana de VBA haciendo Alt + F11 (por ejemplo). Hacemos click en el libro de VBA en la pestaña de «ThisWorkbook» o libro en nuestro proyecto como vemos en la imagen:

eventos en vba abrir libro

Una vez que hemos entrado en el módulo del libro seleccionamos la opción de Workbook donde pone: «(General)» como vemos en la siguiente imagen:

eventos en vba seleccionar workbook

Automáticamente, para el evento de tipo Open se creará la siguiente subrutina y nos lo indicará donde antes ponía «(Declarations)» (ver imagen anterior).

Private Sub Workbook_Open()

End Sub

Dentro de esta Subrutina insertaremos nuestro código, el que hayamos creado nosotros o el que crearemos. Esta acción será la que ocurra siempre que abramos nuestro libro. Como habíamos dicho anteriormente, queremos que el libro nos diga «Buenos días».

Combinando ambos pedacitos de código obtendremos la siguiente macro:

Private Sub Workbook_Open()
MsgBox "Buenos días Quique"
End Sub

Finalmente tendremos que guardar el libro como .xlsm o lo que es lo mismo, c0mo libro habilitado para macros.

(Visited 10.633 times, 1 visits today)
Categorías VBA

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información ACEPTAR

Aviso de cookies