2. Es un conjunto de instrucciones de código
(programado) que permiten realizar una tarea
determinada como así también expandir e
incrementar las prestaciones de Excel.
Las macros se escriben en lenguaje de
programación VBA (Visual Basic for Applications).
El Excel ya trae incorporado un editor de VBA por lo
que las macros se programan dentro del mismo
programa Excel.
3. La Programación orientada a Objetos nos permite
trabajar sobre los objetos propios de Excel como así
también crear nuestros propios objetos.
Cuando hablamos de macros hablamos de Objetos,
Propiedades y Métodos (OPM).
Estos son los 3 conceptos generales más
importantes que debes conocer a la hora de
programar las macros.
4. Objetos: prácticamente cada cosa que veas en Excel
es un objeto. Ejemplos de objetos son: un libro
Excel, una hoja, un rango, una celda, un menú, un
gráfico, una tabla dinámica, un cuadro de diálogo,
las etiquetas de hojas, las columnas, las filas, etc.
En fin, cada partecita de Excel es un objeto.
Un objeto es algo que puedes ver e identificar con
un nombre.
5. Propiedades: las propiedades son las
características de los objetos. Por ejemplo, para el
objeto "celda" algunas de sus propiedades serían:
alto, ancho, color, bloqueada o desbloqueada, vacía,
con un número o con una fórmula, etc.
6. Métodos: un método es una acción que podemos
realizar sobre el objeto o una de sus propiedades.
Por ejemplo sobre el objeto "hoja" podemos: activar,
mover, copiar o borrar.
7. CommandButton: es un simple botón que nos
permite ejecutar acciones.
También es posible crear nuevos botones para la
barra de herramientas de Excel y asignarle macros a
los mismos.
8. Excel posee una Barra de Herramientas de Macros o
VBA. Puedes acceder a la misma desde el menú
Herramientas > Macros.
9. Es importante reconocer bien las principales opciones y
secciones que tiene el editor de macros (también conocido
como editor de Visual Basic), dado que será la herramienta que
utilizaremos para escribir las macros.
El Editor de Visual Basic es la aplicación que trae Excel desde
donde se escriben y guardan las macros. Tienes 3 formas de
acceder al editor:
A. Desde el menú Herramientas > Macros > Editor de Visual
Basic
B. Desde el botón Editor de Visual Basic de la Barra de
Herramientas Visual Basic (*)
C. Desde el teclado (Teclas de Método Abreviado): ALT+F11
10. El editor contiene 3 ventanas principales:
La Ventana Proyecto (parte izquierda superior), la
Ventana de Código (parte derecha) y la Ventana
Propiedades (parte izquierda inferior), Ventana
Inmediato.
11. La Ventana Proyecto - VBA Project: esta ventana
muestra los libros Excel (xls) o los complementos
(xla) abiertos. Usualmente verás nombres del tipo
"VBAProject" y entre paréntesis el nombre del
archivo o complemento Excel.
12. En la ventana de Proyecto hay carpetas donde se
guardarán y escribirán las macros.
En un primer nivel tenemos los proyectos. Por regla
general, cada libro Excel tiene asociado un proyecto.
En un segundo nivel tenemos las carpetas. Estas
carpetas nos distinguen entre Objetos, Formularios y
Módulos.
13. 1. Objetos
En esta carpeta vemos que cuelgan dos elementos:
ThisWorkbook siempre está presente. Si escribimos
una macro aquí la misma afectará a todo el libro.
Hoja1(Hoja1) hace referencia las hojas de Excel
14. 2. Formularios
Los formularios son más conocidos como
UserForms. Si no lo visualizas puedes agregarlos
desde el menú Insertar > Userform.
15. 3. Módulos
Los módulos sirven para escribir macros a nivel
genérico, sin estar relacionadas a la hoja o libro en
particular. Si no visualizas ninguno puedes agregarlos
desde el menú Insertar > Módulo.
16. Ventana de Código: esta es el lugar donde
escribiremos el código propiamente dicho de las
macros.
17. Ventana de Propiedades: Esta ventana se ubica en la
parte inferior izquierda de la pantalla. Si no la puedes
visualizar puedes activarla desde el menú Ver >
Ventana propiedades.
Cada objeto tiene sus propiedades.
18. Ventana de Inmediato: Sirve para escribir, ejecutar y
probar un código macro rápidamente, sin tener que
armar toda la macro con la estructura.