MACROS EN EXCEL 2010.
Las macros son un grupo de instrucciones programadas bajo entorno vba (visual basic para aplicaciones), cuya tarea principal es la automatización de tareas repetitivas y la resolución de cálculos complejos.
El lenguaje vba, es un lenguaje de programación basado en el visual Basic, enfocado a la realización de programas sobre las herramientas Excel, Access, Word...., mediante macros en vba podemos crear nuevas funciones para nuestras hojas Excel, personalizar estilos y formatos, crear programas para la resolución de cálculos complejos, automatizar tareas...
Ejemplo de código Vba aplicado en Excel.
|
---|
Una vez realizado el código vba, podemos ejecutar el programa mediante la creación de botones, nuevos menús... de tal forma que la aplicación creada resulte intuitiva y de fácil manejo.
¿Para que se utilizan las macros vba?.
Mediante macros vba podemos crear múltiples aplicaciones que realicen los cálculos automáticamente y obtengamos resultados en apenas unos segundos.
Las macros vba trabajan en diversos programas, los mas conocidos son los programas que se incluyen en el paquete Office (Excel ,Word, Access...) pero además las macros vba también trabajan en diversos programas como SolidWorks, Autocad...(software creado para el diseño de ingeniería) lo cual proporciona una enorme versatilidad de utilización, así como una comunicación entre diversos programas.
A continuación se muestra una serie de ejemplos en los cuales se utilizan macros vba :
Macros Vba con Excel. |
---|
Creación de nuevas funciones- como por ejemplo la función "código" que convierte dígitos alfanuméricos a dibujos basados en codificación de código de barras.
Automatización de tareas repetitivas- realización de informes automáticos, conexión con bases de datos y otros programas.
Resolución de cálculos complejos e iterativos
Creación de programas, como gestores documentales, software de planificación.....
Antes de grabar una macro
Compruebe que se muestra la ficha Programador en la cinta de opciones. Dado que la ficha Programador
no se muestra de manera predeterminada, haga lo siguiente:
|
Grabe una macro
|
Examine la macro y pruébela
Al modificar la macro que ha grabado, puede aprender un poco acerca del lenguaje de programación Visual Basic.
Para editar una macro, en el grupo Código en la pestaña Programador, haga clic en Macros, seleccione el nombre de la macro que ha grabado y haga clic en Editar. Esta acción hará que se inicie el Editor de Visual Basic.
Observe el código y vea de qué manera las acciones que ha grabado aparecen como código.
|
Ejercicio paso a paso.
Empezaremos por crear una macro para poner a cero el contenido de ciertas celdas de nuestra hoja de trabajo.
- Abre el libro en Excel.
- Guarda el libro en tu memoria o Drogbox con el nombre libro_macros.
- Pulsa las teclas ALT+F11. Se iniciará Microsoft Visual Basic para aplicaciones.
- Accede al menú Insertar para insertar un nuevo módulo.
- Presiona sobre Módulo.
- Vuelve al menú Insertar.
- Selecciona Procedimiento... Nos aparece el cuadro de diálogo Procedimiento.
- En el nombre del procedimiento escribe Limpiar.
- Selecciona Procedimiento y que es de ámbito Público.
- Presiona sobre Aceptar.
- Escribe el código del procedimiento como se ve en la imagen, lo escrito en verde son comentarios aclaratorios, no los copies si no quieres.
- Cierra la ventana del Editor de VisualBasic.
Ahora vamos a comprobar que funciona correctamente la macro creada.
- Accede a la pestaña Vista.
- Haz clic en el botón Macros.
- Selecciona la macro creada Limpiar y pulsa sobre Ejecutar.
- Observa como las celdas del rango D10:F10 se han puesto a cero y las del rango D11:F11 se han quedado sin contenido. No cierres el libro.
Para practicar otras instrucciones de VBA, vamos a definir una macro para sumar tres celdas y dejar el resultado en otra.
- Pulsa las teclas ALT+F11. Te aparecerá el módulo con el procedimiento limpiar. Si no es así, busca en la zona de la izquierda, en el explorador de proyectos, en la carpeta Módulos, el móduloMódulo1 y haz doble clic sobre él.
- Accede al menú Insertar para insertar un nuevo módulo.
- Selecciona Procedimiento... Nos aparece el cuadro de diálogo Procedimiento.
- En el nombre del procedimiento escribe Sumar.
- Selecciona Procedimiento y que es de ámbito Público.
- Presiona sobre Aceptar.
- Escribe el código del procedimiento como se ve en la imagen. Se incluirá a continuación del anterior.
- Cierra la ventana del Editor de VisualBasic.
Ahora vamos a comprobar que funciona correctamente la macro creada.
- Ve a la pestaña Vista.
- Haz clic en el botón Macros.
- Selecciona la macro creada Sumar y pulsa sobre Ejecutar.
Observa como la celda F10 contiene la suma de las celdas B3, B4 y B5.
Por último practicaremos con el bucle For each... next, muy útil en este tipo de programación.
- Pulsa las teclas ALT+F11. Te aparecerá el módulo con el procedimiento anterior. Si no es así, busca en la zona de la izquierda, en el explorador de proyectos, en la carpeta Módulos, el módulo Módulo1 y haz doble clic sobre él.
- Accede al menú Insertar para insertar un nuevo módulo.
- Selecciona Procedimiento... Nos aparece el cuadro de diálogo Procedimiento.
- En el nombre del procedimiento escribe Aumentar.
- Selecciona Procedimiento y que es de ámbito Público.
- Presiona sobre Aceptar.
- Escribe el código del procedimiento como se ve en la imagen, para aumentar un 50% los valores contenidos en las celdas seleccionadas.
- Cierra la ventana del Editor de VisualBasic.
Ahora vamos a comprobar que funciona correctamente la macro creada. En este caso, como la macro funciona a partir de las celdas seleccionadas, tenemos que seleccionarlas antes de ejecutar la macro.
- Selecciona un rango de celdas incluido en B3:B9 (selecciona los precios de los artículos que van a variar, puedes incluso seleccionar celdas no contiguas con la tecla CTRL).
- Ve a la pestaña Vista.
- Haz clic en el botón Macros.
- Selecciona la macro creada Aumentar y pulsa sobre Ejecutar. Observa como los valores de las celdas seleccionadas han aumentado un 50%.
- No cierres el archivo, en el siguiente ejercicio lo guardaremos con Macros incluidas.