Ejecutar una macro desde un objeto gráfico resulta muy útil para simplificar la tarea del usuario y darles un aspecto profesional a nuestras planillas.
Por otro lado, la grabadora de macros registra todos los comandos y pulsaciones de teclas que haces en un lenguaje que se llama Visual Basic para Aplicaciones (VBA), una versión especial del lenguaje de programación BASIC desarrollado y perfeccionado en Microsoft para utilizarlo con todas las aplicaciones de Office.
En esta nota, el Lic. Damián López, docente del curso virtual “Excel para la Industria Cárnica” nos explicará cómo asignar una macro a un objeto gráfico y cómo utilizar el editor de Visual Basic de Excel para mostrar y hacer cambios en el código VBA de la macro.
Asignar una macro a un objeto gráfico
1.Elegir el elemento a utilizar
Desde el menú Ilustraciones eliges qué elemento quieres insertar para agregar la macro, puede ser una ilustración, una imagen o un ícono (ver imagen).
Para agregar una macro a un objeto gráfico: sea una imagen, una figura o un ícono es necesario realizar la siguiente secuencia de pasos:

2. Insertar el objeto gráfico
En este ejemplo utilizaré un rectángulo de puntas redondeadas, que con el formato adecuado se verá como un botón; pero recuerda que puedes utilizar ese o cualquier otro según tu preferencia.

3. Asociar la macro al objeto
Luego, incorporaremos la macro (que grabamos en la lección anterior) al objeto gráfico que acabamos de insertar, haciendo:
- Clic en el objeto gráfico para seleccionarlo
- Clic con el botón derecho del mouse para mostrar el menú contextual.
- Elegir la opción “Asignar Macro”

4. Seleccionar la macro a incorporar
La ventana “asignar macro” te mostrará el listdo de macros que hayas grabado en el libro.
- Selecciona la macro a agregar
- Clic en aceptar

TIP: una vez incorporada la macro al objeto, simplemente haciendo clic en él se ejecuta la macro.
Si quieres mover el botón de lugar no podrás hacerlo directamente como moverías cualquier otro objeto, porque si le haces clic se ejecuta la macro.
Para poder moverlo tienes que hacer clic derecho sobre el objeto, y una vez que se encuentre seleccionado podrás arrastrarlo con el puntero del mouse para moverlo y/o redimensionarlo.
El código detrás de las macros
Qué es VBA
La grabadora de macros registra todos los comandos y pulsaciones de teclas que haces en un lenguaje que se llama Visual Basic para Aplicaciones (VBA) , una versión especial del lenguaje de programación BASIC desarrollado y perfeccionado en Microsoft para utilizarlo con todas las aplicaciones de Office.
En este apartado veremos cómo utilizar el editor de Visual Basic de Excel para mostrar y hacer cambios en el código VBA de la macro.
El código de la Grabadora de macros
Una manera muy interesante de descubrir y aprender más sobre código VBA es analizar el código generado por la Grabadora de macros.
Veamos entonces cómo se accede al editor VBA:
Paso 1: Abrir el editor VBA

Para ver el editor VBA tienes que ir al menú Programador (o desarrollador) y hacer clic en el comando Visual Basic
Paso 2: ¿Qué contiene la ventana del editor VBA?
La ventana del editor es una ventana adicional al libro de Excel en el que estás trabajando.
Nota: aunque te encuentres trabajando en más de un libro de Excel la venta del editor es única y te muestra el código generado por todas las macros de los libros abiertos.
Veamos qué contiene:

Entonces, ¿para qué sirve el editor?
- El Editor VBA te permitirá:
- Ver las macros grabadas de los libros abiertos.
- Acceder al código que se generó automáticamente para cada macro.
- Copiar fragmentos de código o macros completas.
- Editar el código de las macros.
Veamos algunas sentencias importantes en el código que se ha generado
Como la mayoría de los lenguajes de programación, las sentencias y/o comandos que utiliza VBA se encuentran en inglés, por lo tanto conociendo el idioma y recordando los pasos que efectuaste al grabar la macro, puedes deducir que se realiza en cada línea de código.
- ActiveCell.FormulaR1C1 = “AgroGlobal”: Esta línea de código inserta el texto “AgroGlobal” en la celda activa. En tu ejemplo aparecerá el nombre de la organización que hayas utilizado.
- Range(“A1”).Select: Selecciona como rango a la celda A1.
- Range(“A1:E1”).Select: Selecciona el rango A1:E1
A medida que trabajes con Macros te vas a ir familiarizando con fragmentos de código que van a aparecer recurrentemente.
La idea de ver el código, no es que te conviertas en un programador (aunque si te gusta podrías hacerlo con los tutoriales que se pueden encontrar en la web); sino que puedas hacer modificaciones al código que se generó automáticamente. Por ejemplo podrías editar los rangos utilizados en la macro por otros y de esta manera no precisarías grabar la macro nuevamente.

Damián E. López
Damián López es Licenciado en Administración de la Universidad Nacional de Córdoba y maestrando en Estadística Aplicada de la Escuela de Graduados de la Facultad de Ciencias Económicas de dicha Universidad.
En su actividad como consultor ha asesorado a organizaciones como Bagley; Cocacola; Hospital Privado, Sanatorio Allende, Clínica Oftalmológica Onnis; Registro de la Propiedad, Fiscalía General y Ministerio de Finanzas de la Provincia de Córdoba.
En el Centro de Transferencia de Calidad Total de la Facultad de Ciencias Económicas ha realizado investigaciones en organizaciones de Córdoba en temáticas vinculadas a la Gestión de la Calidad.
Actualmente se desempeña como Consultor en Sistemas de Gestión de la Calidad, y como docente en Universidad Tecnológica Nacional, Instituto Universitario de Ciencias Biomédicas de Córdoba, AgroGlobal y Aprender en Red.
Si te interesa la temática, te recomendamos el siguiente curso virtual:
