23
MACROS EN EXCEL Como Hacer una Macro en Excel Una pequeña introducción Cuando hablamos de una Macro en Excel nos referimos a un lenguaje de programación orientado a aplicaciones. En este caso particular, se utiliza VBA (Visual Basic for Applications) el cual es un lenguaje de programación desarrollado por Microsoft. Excel, al igual que los otros programas de Microsoft Office incluyen el lenguaje VBA. Imaginen un Robot que conoce todo sobre Excel. Este robot puede leer instrucciones y operar sobre Excel de manera rápida y precisa. Simplemente escribimos un lenguaje que este robot comprenda, para que luego el robot haga el trabajo sucio mientras nos relajamos y tomamos una limonada. Eso es justamente VBA. Un lenguaje en código para robots. Pero Ojo, Excel no viene ni con un robot ni con la limonada. =) La combinación entre la generación de un código VBA y su posterior ejecución en Excel es lo que se llama una Macro. A fin de cuentas una Macro es un programa el cual contiene un trozo de código de manera que podemos automatizar procesos que el realizarlos a mano nos pueden tomar mucho tiempo. La palabra Macro proviene del griego makros que significa grande-lo cual podría describir el tipo de pago que podrías recibir por convertirte en un experto en programación de Macros. Otra cosa que se debe tener en cuenta es que VBA no es lo mismo que VB (Visual Basic), ya que VB es un lenguaje de programación que permite crear programas auto ejecutables (conocidos como archivos EXE). A pesar de que VBA y VB tienen mucho en común, son dos cosas distintas.

Alex Ronal Ambrosio Cañasaca

Embed Size (px)

DESCRIPTION

FFFFFFFFFFFFFFFFFFFFFFFFFFF

Citation preview

Page 1: Alex Ronal Ambrosio Cañasaca

MACROS EN EXCEL

Como Hacer una Macro en Excel

Una pequeña introducción

Cuando hablamos de una Macro en Excel nos referimos a un lenguaje de programación orientado a aplicaciones. En este caso particular, se utiliza VBA (Visual Basic for Applications) el cual es un lenguaje de programación desarrollado por Microsoft.  Excel, al igual que los otros programas de Microsoft Office incluyen el lenguaje VBA.

Imaginen un Robot que conoce todo sobre Excel. Este robot puede leer instrucciones y operar sobre Excel de manera rápida y precisa. Simplemente escribimos un lenguaje que este robot comprenda, para que luego el robot haga el trabajo sucio mientras nos relajamos y tomamos una limonada. Eso es justamente VBA. Un lenguaje en código para robots. Pero Ojo, Excel no viene ni con un robot ni con la limonada. =)

La combinación entre la generación de un código VBA y su posterior ejecución en Excel es lo que se llama una Macro. A fin de cuentas una Macro es un programa el cual contiene un trozo de código de manera que podemos automatizar procesos que el realizarlos a mano nos pueden tomar mucho tiempo.

La palabra Macro proviene del griego makros que significa grande-lo cual podría describir el tipo de pago que podrías recibir por convertirte en un experto en programación de Macros.

Otra cosa que se debe tener en cuenta es que VBA no es lo mismo que VB (Visual Basic), ya que VB es un lenguaje de programación que permite crear programas auto ejecutables (conocidos como archivos EXE). A pesar de que VBA y VB tienen mucho en común, son dos cosas distintas.

La idea de crear una Macro es la de automatizar tareas que son repetitivas o que deben ser desarrollas con frecuencia.  Por ejemplo, preparar reportes mensuales de manera que todos los meses podrás presentarle a tu jefe reportes con un mismo formato. Él quedará impresionado por tu consistencia  y la gran calidad de tu trabajo, e incluso te promoverá a un nuevo cargo al cual no estás capacitado!!

¡Comencemos!

Lo primero a realizar es hacer visible la lengüeta de “Programador”. Por defecto esta lengüeta viene oculta en Excel 2007.

Page 2: Alex Ronal Ambrosio Cañasaca
Page 3: Alex Ronal Ambrosio Cañasaca

La primera opción es “Más Frecuente” y dentro de ella debemos marcar la opción de “Mostrar Ficha Programador en la cinta de Opciones”.

Page 4: Alex Ronal Ambrosio Cañasaca

Acá podemos observar como la hemos marcado, que en este caso es la tercera opción.

Con ello la lengüeta “Programador” está visible y podemos comenzar a utilizar Macros en nuestro libro de Excel.

Lo que cubriremos en este instructivo es la grabación de Macros. Esto es muy parecido a la grabación de acciones que alguna vez cubrimos en un tutorial de Photoshop.

Grabando una Macro

Seleccionamos una celda; cualquier celda servirá. En la lengüeta de programador damos click en “grabar Macro”.

Con ello nos aparece la ventana  “Grabar Macro”.

Page 5: Alex Ronal Ambrosio Cañasaca

En “Nombre de la macro” pondremos un nombre representativo (Ojo no puede llevar espacios por lo que si desean pueden usar guión bajo “_” para poner espacios entre palabras), en “método abreviado” pondremos una combinación  de teclas como acceso directo (por defecto es CTRL +”algo ”, en mi caso utilizá la tecla Shift o Mayúscula más la tecla N), en “Guardar macro en: " dejamos igual como está, y en “Descripción” anotamos justamente una descripción de lo que hará la macro.

Damos click en “Aceptar ”. Con ello la grabación de la Macro comienza, por lo tanto todos los movimientos que realicemos dentro del libro de Excel serán grabados.

Anotaremos nuestro nombre en una celda Hacemos click en la celda bajo el nombre y anotaremos la siguiente

fórmula: =AHORA()

Esta fórmula muestra la fecha y hora actual.

Seleccionamos la celda que contiene la fórmula y la copiaremos (Con CTRL+C o en la lengüeta Inicio -> Copiar)

Page 6: Alex Ronal Ambrosio Cañasaca

En la lengüeta Inicio está el botón Pegar. Si damos Click en la flecha bajo el ícono verán que aparecen más opciones. Elegimos la opción “Pegar Valores”.

Page 7: Alex Ronal Ambrosio Cañasaca

Esto convierte la fórmula a su valor correspondiente.

Seleccionamos ambas celdas, osea la celda con la fecha y la celda con el nombre.

Aplicamos a ambas celdas un formato, por ejemplo “Negrita ” y en el tamaño de la letra ponemos  “16”.

Vamos a la lengüeta Programador y detenemos la grabación de la Macro con el botón respectivo.

Page 8: Alex Ronal Ambrosio Cañasaca

¡Felicitaciones! Acabas de grabar tu primera Macro. Esta es una buena oportunidad para llamar a tu madre y contarle las buenas noticias.

Ahora solo nos falta correr la Macro y ver los resultados. Para ello iremos a una nueva hoja de cálculo. Seleccionamos la celda A1.

Page 9: Alex Ronal Ambrosio Cañasaca

En la lengüeta de Programador hacemos click en Macros con lo cual se nos abre la ventana que administra las Macros.

Page 10: Alex Ronal Ambrosio Cañasaca

Elegimos nuestra Macro, que en este caso es única y le damos click al botón ejecutar. También si  prefieren pueden seleccionar la celda A1 y simplemente utilizar la combinación de teclas que configuramos, en este caso Ctrl+Shift+N.

Page 11: Alex Ronal Ambrosio Cañasaca

Como observarán se ha pegado la información y se le ha dado el formato de letra en negrita y tamaño 16. Con un simple click o combinación de teclas sin necesidad de anotar el nombre, aplicar una fórmula, copiarla, pegarla, seleccionar ambas celdas y darles formato.

Ahora analicemos el código o lenguaje que se ha grabado.

Para ello podemos dar click en el botón “Visual Basic” de la lengüeta Programador o utilizar la combinación de teclas ALT+F11.

Page 12: Alex Ronal Ambrosio Cañasaca

Con ello se nos abre el editor de VBA.

Damos click en el símbolo “+” de “Módulos” de manera de ampliar el árbol de módulos y con ello nos aparecerá “módulo 1” tal como se observa en la fotografía.

Que son las macros Excel

Las macros Excel es un conjunto de instrucciones programadas en la hoja de cálculo electrónica Excel, las cuales automatizan las operaciones que realiza la aplicación ofimática Excel con el objetivo de eliminar tareas repetitivas o realizar cálculos complejos en un corto espacio de tiempo y con una nula probabilidad de error.

Vba es el lenguaje de programación que se utiliza para la creación de las macros Excel, vba son las siglas de Visual Basic for Applications y es un lenguaje desarrollado por Microsoft e implementado dentro de los programas informáticos de la suite Office, donde se encuentra Excel.

Page 13: Alex Ronal Ambrosio Cañasaca

Para entender mejor el concepto de las macros Excel imaginemos que en nuestro trabajo tenemos que escribir diariamente el valor de cambio de 1 euro por 1 dólar, para posteriormente realizar una serie de cálculos referentes a temas financieros o contables, entonces diariamente tendremos que entrar en Internet, buscar el valor de cambio, copiar y pegar el valor  en nuestra hoja Excel y realizar los cálculos oportunos. Mediante las macros Excel al apretar un botón automáticamente la aplicación Excel realizará cada una de las operaciones descritas anteriormente por nosotros, dando el resultado fiable en apenas 1 segundo.

En el anterior ejemplo si realizásemos este trabajo de manera manual podemos decir que invertiríamos 10 minutos, que al cabo del año supondría 3300 minutos,  equivalente a casi 7 días laborables dedicados a realizar esta operación, ¿Qué pasaría si se tuviese que realizar este tipo de trabajo diariamente pero con una gama de 50 monedas  diferentes?, ¿estaría dispuesto a dedicarse íntegramente el día completo a realizar esta tarea repetitiva sabiendo que con una macro Excel se puede realizar en apenas 1 segundo y con una nula probabilidad de error?.

Pero para que Excel haga estos trabajos por usted es necesario que le digamos como, en este momento es cuando interviene VBA, podemos decir que VBA es el interlocutor por el cual nos comunicamos con Excel, Vba es el lenguaje de programación de las Macros Excel.

Existen 2 maneras de realizar Macros en Excel:

Mediante el uso de la grabadora de Macros. Mediante el uso del lenguaje VBA para programar a Excel

La primera de las opciones es la más fácil, dado a que solo requiere apretar al botón grabador de macros y realizar el conjunto de operaciones que queramos que se repitan, una vez finalizado guardamos la macro grabada con el nombre que queramos. Cada vez que queramos ejecutar esta macro tendremos que apretar el botón ejecutar macro y seleccionarla.

Esta primera opción es la más fácil de usar pero es la que presenta más limitaciones, dado a que solo ejecutará una vez la tarea grabada así como no utilizará  toda la potencia del lenguaje VBA.

La segunda opción requiere del conocimiento y práctica del lenguaje de programación VBA, pero es sin duda la opción más potente en cuestión de desarrollo de aplicaciones, cualquier cosa que se nos ocurra puede realizarse mediante el uso de VBA, desde una aplicación compleja hasta la automatización de tareas repetitivas de nuestra hoja de cálculo Excel.

Page 14: Alex Ronal Ambrosio Cañasaca
Page 15: Alex Ronal Ambrosio Cañasaca

Para qué sirve una macro en Excel

¿Para qué sirve una macro en Excel? Una macro nos ayuda a automatizar aquellas tareas que hacemos repetidamente. Una macro es una serie de instrucciones que son guardadas dentro de un archivo de Excel para poder ser ejecutadas cuando lo necesitemos.

Automatización de tareas

Seguramente estás familiarizado con procesos de automatización en el ámbito industrial. Un ejemplo muy claro son las plantas ensambladoras de automóviles donde existen robots que han sustituido tareas que antes eran hechas por humanos. La automatización trajo beneficios como mayor eficiencia y productividad de las plantas y un mejor aprovechamiento del tiempo del personal al reducir la cantidad de tareas repetitivas que realizaban.

De la misma manera las macros nos ayudan a eliminar esas tareas repetitivas de nuestro trabajo cotidiano al permitirnos utilizar mejor nuestro tiempo en el análisis de los datos  y en la toma de decisiones.

¿Cómo se ve una macro en Excel?

Las macros son escritas en un lenguaje de computadora conocido como VBA por sus siglas en inglés (Visual Basic for Applications). Como cualquier otro lenguaje de computadora debemos aprender a utilizar los comandos que nos ayudarán a indicar a Excel lo que deseamos hacer con nuestros datos.

Page 16: Alex Ronal Ambrosio Cañasaca

Aprender el lenguaje VBA no es nada complicado y se puede lograr fácilmente. Lo que toma un poco más de tiempo es pulir nuestras habilidades de programación. Lo que quiero decir con esto es que para ser un buen programador de macros debes  dedicar tiempo en resolver múltiples problemas en donde puedas llevar al límite el lenguaje VBA.

Creación de una macro

Existe otro método que es utilizar la Grabadora de macros la cual irá grabando todas las acciones que realicemos en Excel hasta que detengamos la grabación. Una vez grabada la macro podremos “reproducir” de nuevo las acciones con tan solo un clic. Las macros se crean con el Editor de Visual Basic el cual nos permitirá introducir el código con las instrucciones que serán ejecutadas por la macro.

Ahora que ya sabes para qué sire una macro en Excel puedes dar los primeros pasos en este camino utilizando el tutorial Introducción a las macros.

 

Page 17: Alex Ronal Ambrosio Cañasaca

Objetos, propiedades y métodos

Los objetos en Excel (VBA) son cosas. Una celda es un objeto, una hoja es un objeto, un libro es un objeto y de esta manera existen muchos más objetos en Excel. A esto lo conocemos como el modelo de objetos de Excel.

Cada uno de los objetos de Excel tiene propiedades y métodos. Las propiedades son las características del objeto y los métodos son las acciones que el objeto puede hacer.

Propiedades de un objeto

Si una persona fuera un objeto de Excel sus propiedades serían el color de sus ojos, el color de su cabello, su estatura, su peso. De la misma manera, un objeto de Excel tiene propiedades por ejemplos, una celda (Range) tiene las propiedades valor (Value) y dirección (Address) entre muchas otras. Estas propiedades describen mejor al objeto.

Métodos de un objeto

Siguiendo con el ejemplo de una persona, si fuera un objeto de Excel sus métodos serían correr, caminar, hablar, dormir. Los métodos son las actividades o acciones que el objeto puede realizar. Los objetos de Excel se comportan de la misma manera que el ejemplo de una persona. Una celda (Range) tiene los métodos activar (Activate), calcular (Calculate), borrar (Clear) entre muchos más.

Page 18: Alex Ronal Ambrosio Cañasaca

Utilizando las propiedades y los métodos

Para acceder a las propiedades y métodos de un objeto lo hacemos a través de una nomenclatura especial. Justo después del nombre del objeto colocamos un punto seguido del nombre de la propiedad o del método. Observa este ejemplo donde hacemos uso de la propiedad Value para la celda A1:

De esta manera asignamos una cadena de texto al valor de la celda A1. Ahora bien, si queremos borrar ese valor que acabamos de colocar en la celda podemos utilizar el método Clear de la siguiente manera:

Ver todas las propiedades y métodos

Los objetos tienen muchas propiedades y métodos y a veces es difícil pensar que los llegaremos a memorizar todos por completo. Sin embargo, el Editor de Visual Basic es de gran ayuda porque justamente al momento de escribir nuestro código nos proporciona la lista completa de propiedades y métodos para un objeto.

Esto sucede al momento de introducir el punto después del nombre del objeto. Puedes distinguir entre las propiedades y métodos porque tienen iconos diferentes. En la imagen de arriba los métodos son los que tienen el icono de color verde.

Recuerda, los objetos son cosas en Excel y sus características las llamamos propiedades las cuales  nos ayudan a definir al objeto. Los métodos son las acciones que cada objeto puede realizar.

Artículos relacionadosEl Editor de Visual Basic

Page 19: Alex Ronal Ambrosio Cañasaca

Establecer seguridad de macros

La seguridad es un tema importante al hablar de macros en Excel. Si abres algún archivo que contenga una macro maliciosa puedes causar algún tipo de daño al equipo. De manera predeterminada Excel no permite ejecutar macros automáticamente.

Sin embargo, si estás creando tus propias macros y deseas remover esta protección porque sabes que no existe código malicioso, entonces puedes modificar la configuración para habilitar todas las macros. Para hacerlo debes seguir los siguientes pasos: Haz clic en la ficha Archivo y posteriormente en Opciones. Dentro del cuadro de diálogo mostrado selecciona la opción Centro de confianza y posteriormente pulsa el botón Configuración del centro de confianza. Se mostrará el cuadro de diálogo Centro de confianza.

Dentro de la sección Configuración de macros selecciona alguna de las opciones disponibles.

Page 20: Alex Ronal Ambrosio Cañasaca

Deshabilitar todas las macros sin notificación. Deshabilita las macros y permite ejecutar solamente aquellas que estén almacenadas en un lugar confiable.  Los lugares confiables se configuran en la sección Ubicaciones de confianza del mismo cuadro de diálogo.

Deshabilitar todas las macros con notificación. Muestra una alerta de seguridad advirtiendo sobre la intención de ejecutar una macro de manera que se pueda decidir si se desea ejecutar. Esta es la opción predeterminada de Excel.

Deshabilitar todas las macros excepto las firmadas digitalmente. Solamente se podrán ejecutar las macros que están firmadas digitalmente.

Habilitar todas las macros. Permite ejecutar todas las macros sin enviar alguna notificación al usuario. Esta opción es útil si se ejecutan múltiples macros totalmente confiables. Esta opción es la que corre los mayores riesgos al ejecutar una macro de una fuente desconocida.