Excel Avanzado
Enviado por fernando lopes • 2 de Mayo de 2015 • 2.459 Palabras (10 Páginas) • 222 Visitas
Excel 2003
Curso Avanzado:
“Macros”
Mayo 2005
Introducción
¿Qué son los macros?
Un macro es un conjunto de instrucciones, comandos y/o funciones que se almacenan en un módulo de Microsoft Visual Basic y que sirven para automatizar procesos. En Excel, muchas de las tareas pueden automatizarse, de manera de ahorrar tiempo y trabajo. Esto es obvio cuando se trata de tareas repetitivas. Tómese como ejemplo una tarea en la que se deba seleccionar un rango de una hoja de cálculo, cambiar las características de la fuente, del ancho de columnas e incluso del contenido de una tabla. Si esta tarea debe hacerse a diario, un macro es lo que se necesita. Una manera de dar una sola orden y que el macro o programa ejecute todas esas acciones de manera automática.
Por definición un macro debe ir orientado a tres objetivos:
- Debe resolver un problema
- Debe tener un número finito de pasos o instrucciones
- Debe aportar una respuesta
En muchos casos, la respuesta no será necesariamente un número o una palabra, puede ser un cambio en la apariencia de un objeto o incluso operaciones que no son necesariamente visibles, como abrir y cerrar archivos.
En Visual Basic para Aplicaciones (VBA), los macros son guardados en procedimientos o Subrutinas (SUB) que permiten el manejo de la información según nuestras necesidades. Existe también un tipo específico de subrutinas que efectivamente arrojan un resultado, son llamadas Funciones (FUNCTION). Excel utiliza VBA como estándar para la programación de macros, ya que es la herramienta integrada en su paquete de oficina “Microsoft Office”™. Permite la interacción entre el usuario y sus datos, el manejo de varios programas del mismo paquete, incluso la interacción entre Excel y otros programas que comparten esta plataforma de programación, cada día mas usada.
Visual Basic para Aplicaciones, de aquí en adelante VBA, esta basado en el lenguaje BASIC desarrollado hace mas de 30 años y de amplia popularidad. Ha evolucionado a la programación orientada a objetos, pero evitando el engorroso código que esto conlleva. La mayor parte de los elementos ya tienen un manejo básico ya programado. Así, al presionar un botón, por ejemplo, el usuario no tendrá que dibujar el botón presionado, simplemente agrega el botón y le indica a VBA qué debe hacer cuando alguien lo presione.
En este curso se verá la aplicación práctica de los macros, su creación y modificación, objetos y como se manejan, el uso de VBA y su entorno y tópicos de programación que son necesarios para el correcto manejo de esta herramienta.
Queda entendido que el mientras mas sea usada esta herramienta de programación mejor será el aprendizaje que de ella se tenga. Este curso pretende ser la base para que los participantes se interesen en el área y profundicen, según sus necesidades, en las infinitas posibilidades de la programación.
Grabar Macros
Generalmente las personas conocen las macros por la grabadora de macros, es decir, ejecutan una tarea repetitiva y alguien les sugiere que utilicen la grabadora de macros para automatizar esta tarea. Excel lleva incluida una utilidad que sirve para registrar acciones que se llevan a cabo en un libro de trabajo y registrarlas en forma de macro. Esta herramienta es útil para generar código engorroso, por su sintaxis un tanto complicada de recordar, además de ahorrar tiempo.
Al grabar una macro, Excel almacena información sobre cada paso dado cuando se ejecuta una serie de comandos. A continuación, se ejecuta la macro para que repita los comandos. Si se comete algún error mientras se graba la macro, también se graban las correcciones que se realicen. Es por esto que casi siempre después deberemos modificar las macros para adaptarlas a nuestras necesidades, sin embargo eso resultará sumamente sencillo.
¿Cómo se generan las macros?
Para mostrar como son grabadas las macros ejecutaremos unas sencillas acciones que facilitarán su comprensión.
Ejemplo
La grabadora de macros se activa desde el menú Herramientas (Tools/Macro/Record New Macro)
Se despliega la ventana “Record Macro”, en ella se puede indicar el nombre de la macro que se va a grabar, el método abreviado para ejecutarla, dónde será almacenada y una breve descripción de la misma.
Después de realizar varias acciones sobre la hoja de cálculo, hacemos clic en el botón “Stop Recording” , para detener el grabado de la macro.
Modificación de Macros
Como se comentó anteriormente, es casi inevitable después de grabar una macro dejarla intacta, pues siempre necesitará algún ajuste que obvie algún error o básicamente optimice (simplifique) el código.
Demos un vistazo a lo que generó la grabadora de macros en el editor de Visual Basic, hacemos clic en “Tools – Macro – Visual Basic Editor” o en “Tools – Macro – Macros…”, se desplegará la ventana “Macro” seleccionaremos la macro recién guardada y hacemos clic en el botón “Edit”.
En el editor de Visual Basic veremos un código igual o similar a este:
Sub Macro1()
'
' Macro1 Macro
' Macro recorded 05/10/2004 by Leonardo Cardona
'
'
ActiveCell.FormulaR1C1 = "Esta es una prueba de escritura: ""Hola Mundo!"""
Range("A5").Select
ActiveCell.FormulaR1C1 = "Este desplazamiento se realizó con el teclado"
Range("F5").Select
ActiveCell.FormulaR1C1 = "Y este con el mouse"
Range("A1").Select
Selection.Font.Bold = True
Range("A5").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Arial"
.Size = 12
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.ColorIndex = xlAutomatic
End With
Range("F5").Select
Selection.Cut Destination:=Range("H5")
Range("H5").Select
Selection.Font.Bold = True
With Selection.Font
.Name = "Arial"
.Size = 12
.Strikethrough
...