#03 Escribe tu primera Macro en Excel.

Tabla de Contenido

Hoy voy a mostrarte c贸mo escribir tu primera Macro en Excel.

Ya vimos lo que son las macros, para que sirven y ya tienes una idea sobre cu谩l es la utilidad que le podr铆amos dar.

Tambi茅n hemos conversado sobre la manera en que puedes crear una macro utilizando la herramienta de grabaci贸n disponible en Excel.

Lo que haremos hoy t煤 y yo, ser谩 crear una macro escribiendo directamente el c贸digo VBA en el Editor de Visual Basic.

Recuerda que VBA es el acr贸nimo de Visual Basic For Aplications (o Visual Basic para Aplicaciones)聽 y se trata de un lenguaje de programaci贸n que utilizaremos para poder expresarle a Excel las instrucciones que queremos que ejecute.

El ejemplo: Una sencilla macro en Excel.

Hoy voy a mostrarte un ejemplo sencillo, por lo tanto no voy a entrar en mucho detalle sobre la sintaxis, ya que la idea es darte un primer acercamiento al editor de Visual Basic.

El ejemplo que utilizar茅 ser谩 el de una macro que muestre un valor en una celda determinada de la primera hoja de mi libro.

Antes de empezar, voy a decidir en qu茅 celda quiero que aparezca el valor generado por mi macro. En la hoja 1 de mi libro, elegir茅 la celda B2 para la prueba y la dejar茅 resaltada en color amarillo para que no se pierda de vista.

Macro en Excel

El editor de Visual Basic.

Para poder escribir el c贸digo de tu macro, primero tienes que acceder a la ventana del Editor de Visual Basic. Esto se puede hacer de dos formas:

  • La primera es accediendo a la ficha ‘Programador’ (recuerda que si no tienes esta ficha, puedes ver aqu铆 c贸mo activarla). Una vez aqu铆, debes buscar la secci贸n ‘C贸digo’ que est谩 al principio de la cinta.
    En esta secci贸n, pincha sobre el bot贸n ‘Visual Basic’.
    Macro en Excel
  • La segunda forma es presionando el atajo de teclado ALT + F11

Una vez realizado cualquiera de estos dos pasos, aparecer谩 la ventana del editor de Visual Basic en la que ya puedes comenzar a trabajar.

Lo primero que ver谩s ser谩 una ventana con una gran 谩rea gris y a la izquierda ver谩s dos paneles:

Macro en Excel

El panel ‘Proyecto’

En este panel se muestran todos los proyectos abiertos al momento. En mi caso, como solo tengo un proyecto abierto, se muestra 煤nicamente el proyecto ‘Libro1’.

Macro en Excel

Cada proyecto representa a un libro de Excel y agrupa varios objetos. Los dos objetos que siempre estar谩n presentes son el libro que se representa con el nombre ‘ThisWorkbook’聽 y la hoja cuyo nombre aparece entre par茅ntesis. En mi caso tengo tres hojas de trabajo representadas por los nombres ‘Hoja1’, ‘Hoja2’ y ‘Hoja3’.

El panel ‘Propiedades’

Este panel muestra las propiedades del objeto seleccionado.聽 Como ves, si yo cambio el objeto seleccionado, cambian las propiedades ya que un libro y una hoja tienen caracter铆sticas distintas.

Macro en Excel

Escribiendo el c贸digo

Para poder comenzar a escribir el c贸digo, debes elegir un objeto en el cual incrustar谩s tu macro. Para el ejemplo elegir茅 el objeto ‘Hoja1’ y har茅 un doble clic sobre 茅l.

Aparece a la derecha un 谩rea en blanco en la que debes escribir el c贸digo de tu macro.

Macro en Excel

Aqu铆 vas a escribir la palabra ‘Sub’ que ser铆a algo as铆 como la abreviatura de la palabra Sub-rutina o Sub-proceso.

Macro en Excel

A continuaci贸n de la palabra ‘Sub’ vas a escribir el nombre de la sub-rutina. Esta no debe de tener espacios y debe comenzar por una letra.

En mi caso le pondr茅 el nombre ‘MiMacro’.

Macro en Excel

Si presionas la tecla ‘Enter’ el compilador le pondr谩 autom谩ticamente los par茅ntesis (esto es obligatorio) y al final pondr谩 el texto ‘End Sub’.

Macro en Excel

Esto le sirve al compilador para delimitar el alcance del c贸digo de mi macro y saber donde comienza y d贸nde termina este. Es decir, que tienes que escribir tu c贸digo entre estas dos l铆neas que acabas de crear.

Ahora bien, la tarea que nos propusimos era la de mostrar un texto en la celda B2 驴recuerdas?

Para hacer esto, vas a escribir el siguiente c贸digo:

[aviso type=禄codigo禄]

C贸digo VBA

Range(芦B2禄).Value = 芦Mi primera macro.禄

[/aviso]

Explicaci贸n del c贸digo

Con este c贸digo que acabo de escribir, le estoy indicando a Excel que el valor (Value) del rango B2 (range(芦B2禄)) debe ser el texto entre comillas (Mi primera macro).

Macro en Excel

Cuando se ejecute este fragmento de c贸digo, Excel mostrar谩 el texto ‘Mi primera macro’ en la celda B2 que dejamos resaltada en color amarillo al iniciar con este ejemplo.

Ahora regresa a tu hoja de Excel y dir铆gete nuevamente a la ficha ‘Programador’ y en el grupo ‘C贸digo’ pincha sobre el bot贸n ‘Macros’.

Macro en Excel

Se mostrar谩 un cuadro de di谩logo en el que se listar谩n todas las macros existentes en los libros abiertos. Como no tengo creada m谩s que una macro, solo aparece la macro titulada ‘MiMacro’.

Macro en Excel

Si聽 la seleccionas y pinchas en el bot贸n ‘Ejecutar’, aparecer谩 el texto que le hemos indicado en el c贸digo y aunque podemos borrar este texto, solo es necesario ejecutar nuevamente la macro y aparecer谩 nuevamente.

Macro en Excel

Un paso m谩s all谩.

Si quisieras podr铆as reemplazar el texto que has usado en este ejemplo por algo un poco m谩s ‘Din谩mico’, por ejemplo podr铆as, en lugar de mostrar un texto fijo, mostrar la fecha y hora actual.

Esto se consigue con la funci贸n predefinida ‘Now()’.

[aviso type=禄informacion禄]

Ten en cuenta que:

A pesar de que utilices la versi贸n de Excel en espa帽ol, todas las propiedades, funciones predefinidas y funciones nativas de Excel, se usar谩n en ingl茅s. Es bueno que lo vayas sabiendo desde ahora.

[/aviso]

Como sabes, ‘Now’ significa ‘ahora’ y como funci贸n devuelve la fecha y la hora que tiene el sistema en el momento en que se ejecuta.

Lo que debes hacer en tu c贸digo, es reemplazar el texto ‘Mi primera macro’ por la funci贸n Now(), as铆:

Macro en Excel

Regresa nuevamente a tu hoja de Excel y ejecuta tu macro una vez m谩s. Ver谩s que aparece la fecha y la hora en la celda elegida.

Macro en Excel

驴Y por qu茅 sub-rutina?

Pues porque cada uno de estos fragmentos de c贸digo tendr谩 asignada una sub-tarea que trabajando en conjunto con todos los dem谩s, podr谩n resolver el problema planteado.

Esto viene del paradigma de programaci贸n[highlight] ‘Divide una tarea grande en varias tareas peque帽as’.[/highlight]

Eso es todo por hoy.

Este es un ejemplo sencillo de c贸mo realizar una macro en Excel que servir谩 para que en las siguientes lecciones el proceso te sea m谩s natural.

Como siempre, si tienes alguna duda sobre la lecci贸n de hoy o algo no ha quedado cubierto, te invito a que me dejes tus comentarios para que podamos seguir nuestra conversaci贸n.

Sigue practicando que ya vamos entrando en materia con esto de las macros 馃檪

隆Nos vemos!

[aviso type=禄creditos禄]

驴Quieres saber m谩s?

Ir al curso de macros de Excel.

Ver el v铆deo directamente en Youtube.

http://www.youtube.com/watch?v=Q4JJhDKCr_o

[/aviso]

Nuestra puntuaci贸n
隆Punt煤a esta entrada!
(Votos: 0 Promedio: 0)
Pi茅rdele el miedo a las macros y avent煤rate a crear tu primer c贸digo VBA.