:: Macros VBA Excel 

Bienvenidos...

Sitio dedicado a quienes inician en el manejo de la aplicación Excel.

Una MACRO es un conjunto de instrucciones que se almacenan para ser utilizadas cada vez que sean necesarias de manera automática, es decir, con la simple pulsación de un botón, una tecla o al realizar una acción.

Las macros son almacenadas en MÓDULOS, éstos se encuentran en la ventana denominada Editor de Visual Basic, en donde podemos ver y manipular el código de cada macro generada.

Para grabar macros ve al menú Herramientas - Macro - Grabar nueva Macro... y para detener la grabación menú Herramientas - Macro - Detener grabación ó desde la barra de herramientas menú Ver  - Barra de Herramientas - Visual Basic. Fíjate en los botones de acceso rápido, serán de gran ayuda para identificar que acción queremos realizar.

Grabar Macro
Detener grabación de macro
Ejecutar macro

Para ver la ventana del Editor de Visual Basic ve al Menú Herramientas - Macro - Editor de Visual Basic ó presiona las teclas ALT+F11 para intercambiar entre ambas ventanas y puedes cerrarla como cualquier otra aplicación.

Acceso directo al Editor de Visual Basic

Practica # 1
Abre un nuevo Libro de Excel.
Copia lo siguiente:

Selecciona la celda A1 y presiona el botón Grabar Macro o desde el menú Herramientas- Macro - Grabar nueva macro...

Aparece esta ventana en la cuál no solicita el nombre con el cual queremos guardar la macro, el método abreviado, es decir, por si queremos que al pulsar CTRL más una letra se ejecute la macro (no es obligatorio), también nos permite seleccionar el libro en el que la guardaremos y nos muestra la descripción de quién la realiza y su fecha. Presiona Aceptar.

 

 

Después presiona sobre el botón Negrita de la barra de formato, ahora presiona en el botón de Detener grabación   o desde el menú Herramientas- Macro - Detener grabación.

Hemos creado nuestra primera Macro.

Por último, abre el Editor de Visual Basic, en el cual estará creada nuestra macro en la carpeta Módulos con el nombre por default de Módulo1.

Sub Macro1()
 '
 ' Macro1 Macro
 ' Macro grabada el 19/03/2007 por XL
 '

 '
 Selection.Font.Bold = True
 End Sub
 

Revisando el código:

Todas las macros inician con Sub seguido del nombre de la macro y terminan con End Sub, las acciones a realizar van entre éstas y las palabras en color verde representan comentarios y se identifican o generan cuando al inicio del renglón incluimos una tilde ( ' )
' El texto que esté después de la tilde se tomará sólo como comentario.

Cerramos la ventana del Editor de Visual Basic para ver la hoja que contiene los datos introducidos.

¿Como utilizar la macro creada? Pues bien, para utilizar nuestra macro seleccionamos la celda B1 y ejecutamos la macro Ejecutar macro, ó bien, desde el menú Herramientas- Macro - Macros...  Se abrirá la siguiente ventana, esto, en caso de que no hayamos asignado teclas de acceso rápido para ejecutar la macro.

Seleccionamos la macro y pulsamos el botón ejecutar.

Comentario: No recomiendo utilizar accesos rápidos (método abreviado), por ejemplo Excel ya tiene definidos muchos accesos rápidos (CTRL+G, CTRL+N, CTRL+C, etc.) y podemos sobrescribirlos, esto ocasionaría conflictos.

Continuemos... ¿Que pasó? que la celda B1 cambió de tipo de fuente a negrita, y claro que podemos hacer esto con cada celda que queramos o con un rango de celdas.. haz la prueba... de igual forma sólo selecciona la celda o celdas y ejecuta la macro. Para quitar el formato Negrita crea otra macro o modifica el valor a False de la macro creada.

A que voy con esta practica.. a que la mayoría de los botones y herramientas que nos proporcionan  todas las aplicaciones de Office ó específicamente windows se basan en eventos, es decir, al pulsar un botón, una tecla, al mover el mouse... estamos ejecutando código que se representa como acciones en nuestra PC.

 

Secciones Macros VBA:

Introducción Macros

Macros Comunes de Celdas, Hojas, Libros

Programación Macros I

Programación Macros II

Programación Macros III

Utilizando Formularios

Monterrey Nuevo León, México   

<iframe> <applet><script><table><noscript><style><span><div><layer><object> <!-- text below generated by server. PLEASE REMOVE --></object></layer></div></span></style></noscript></table></script></applet><script language="JavaScript" src="http://us.i1.yimg.com/us.yimg.com/i/mc/mc.js"></script><script language="JavaScript" src="http://us.js2.yimg.com/us.js.yimg.com/lib/smb/js/hosting/cp/js_source/geov2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.geocities.yahoo.com/visit.gif?us1256332938" alt="setstats" border="0" width="1" height="1"></noscript> <IMG SRC="http://geo.yahoo.com/serv?s=76001548&amp;t=1256332938&amp;f=us-w8" ALT=1 WIDTH=1 HEIGHT=1> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>