Você está na página 1de 7

1

CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA

MACROS DE EXCEL
INTRODUCCIÓN A LOS EVENTOS VBA

Vamos a empezar esta serie de artículos con el tema de Macros donde veremos la aplicación de
30 de ellas las cuales nos pueden servir para contar con archivos de Excel más adaptado a
nuestras necesidades.
En esta primera entrega vamos a ver el concepto Eventos VBA para entender mejor la aplicación
de las macros que veremos en este capítulo.
Para poder aplicar macros, es necesario tener configurado Excel para que pueda ejecutar
Macros y para ellos nos dirigimos a las opciones de Excel (Archivo, Opciones), luego nos
ubicamos en la última opción de la ventana de opción llamada Centro de Confianza y luego
damos clic en el botón Configuración del Centro de confianza:

Con esto se abre la ventana del Centro de Confianza donde nos debemos ubicar en la opción
Configuración de macros y en este ítem debemos seleccionar de las opciones que aparecen en
la parte derecha de esta ventana la opción Habilitar todas las macros y habilitar la casilla que
dice Confiar en el acceso al modelo de objetos de proyectos de VBA:
2
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA

Luego damos Aceptar hasta quedar ubicados en la hoja Excel


Ahora ya podemos ejecutar macros de cualquier libro de Excel que tengamos en nuestro equipo.
Ingresemos ahora al Editor de Visual Basic, para ello desde el libro Excel utilizaremos la
combinación de teclas Alt + F11:

Tenemos al lado izquierdo, un panel izquierdo llamado Ventana de Proyectos donde se


muestran todos los libros Excel que tengamos abiertos en este momento; para este caso
tenemos:
1. VBAProject(FUNCRES.XLAM): hace parte de la aplicación misma de Excel y no lo vamos
a modificar.
1. VBAProject (Libro1): Corresponde al único libro de trabajo que tenemos abierto. Podemos
ver que de éste se despliega una carpeta que se llama Microsoft Excel Objetos que nos
muestra las hojas que hay en el libro de Excel que como vemos tiene dos hojas, Hoja1 y
Hoja2. También muestra al final un objeto llamado ThisWorkbook el cual hace referencia
a todo el libro de trabajo Excel.
3
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA
Nota: En
caso de que tengamos más libros de Excel abiertos, en esta ventana de Proyectos aparecerán
cada uno de ellos.
La programación de las macros se hace sobre las hojas que tengamos en el libro (Ej.: eliminar
filas) pero también se pueden hacer macros para ejecutar código sobre todo el libro de trabajo
(Ej.: Ocultar las fichas de las hojas) y una tercera opción para programar macros sería sobre
unos objetos llamados Módulos que veremos más adelante en otras entregas.
Así que cuando se requiera realizar una macro para ejecutar código sobre una hoja lo podemos
hacer dando doble clic a la hoja desde la Ventana de proyectos. Vamos a realizar esto sobre la
Hoja1:

Vemos entonces que en la parte derecha del Editor de Visual Basic, ya aparece un espacio en
blanco lo que significa que está en modo de edición donde ya podemos digitar los códigos que
necesitemos programar y de esta manera, los códigos que ingresemos serán aplicados
directamente sobre la Hoja1.
Encima del espacio en blanco de edición de macros, tenemos dos listas de opciones:
4
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA

La primera, donde se muestra entre paréntesis la palabra General, es donde podemos


seleccionar los objetos ActiveX que tengamos en la hoja (y que ya vimos en las entregas
anteriores). Como es un libro de trabajo nuevo, al desplegar esta opción solo nos aparece el
objeto Worksheet que siempre está por defecto:

Al seleccionar este objeto Worksheet, aparecerán en el espacio de edición de códigos las líneas
de inicio y de fin de la Macro que se ejecutará al presentarse algún EVENTO en el Libro de
Excel (Worksheet):
5
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA
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.
Worsheet: Corresponde a una macro que se aplicará a la hoja de Excel (Worksheet) sobre la
que estemos ubicados desde la venta de explorador de proyectos
SelectionChange(ByVal Target As Range): Corresponde al evento Cambio de selección y
significa que los códigos que vayamos a programar en esta macro se ejecutaran
automáticamente al presentarse un cambio en la selección de las celdas (Target) que
indiquemos.
Es importante marcar que hay varios eventos o acciones que se pueden dar en la interacción de
las hojas de un libro de Excel como es Activar, Calcular, Cambiar Selección, entre otras y es
precisamente desde la aplicación de estos eventos que se pueden ejecutar macros. La
configuración de los eventos la podemos realizar desde el segundo cuadro de opción que
tenemos encima del espacio de programación de códigos:

Vemos que tenemos muchos otros eventos que podemos seleccionar para ejecutar macros de
manera automática y dependiendo del evento seleccionado se podrán ejecutar de una u otra
manera. Por ejemplo, si seleccionamos el evento Activate, la macro que programemos se
ejecutara automáticamente al Activarse la Hoja 1(en este caso que es desde donde estamos
ubicados), por ejemplo, si desde el libro de Excel estamos ubicados en la Hoja 2 y luego damos
clic en la pestaña para pasar a la Hoja 1, en ese momento se ejecutará la macro que
programemos en este evento. Hagamos el ejercicio y seleccionemos el evento Activate:
6
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA

Vemos que en el espacio de edición de códigos aparecen la línea de inicio y de fin para el
evento Activate de la hoja que seleccionamos y debajo quedaron las líneas de inicio y de fin del
evento SelectionChange también para la misma hoja pero estas últimas líneas o la podemos
borrar o desde que no agreguemos códigos adicionales las podemos dejar.
Vamos a pegar el siguiente código dentro de las líneas de inicio y de fin de la macro que se
activa con el evento Activate:
MsgBox "Has seleccionado la Hoja 1"

Esa línea lo que haces mostrar un mensaje informativo al momento de activarse la Hoja 1.
Vamos a Excel y probemos a cambiar entre las hojas y veremos como se muestra el mensaje al
activar o seleccionar la Hoja 1:
7
CENTRO DE DESARROLLO AGROEMPRESARIAL CDA - CHIA

Durante las siguientes entregas, veremos el uso que podemos dar a distintos eventos que
tenemos a disposición en VBA.

Você também pode gostar