Grado de dificultad: 2 (porque es un artículo largo y que los puede llevar muy lejos)
Columnista: Roberto
El artículo anterior dejó a nuestros lectores un tiempo para experimentar el dialogo con una máquina (un PC bajo Windows):
Programar – Hablar con una máquina
Es una valiosa herramienta que pueden seguir usando cuando quieran.
Nota preliminar: el presente artículo es un poco largo.
“Microsoft Excel” es programable
Modificar la configuración
Añadimos algo más elaborado, aunque todavía sencillo.
Nuestros queridos dummies, conocen, muy probablemente, a Microsoft Excel. Más exactamente, lo pensaban conocer hasta ahora.
Descubriremos que es (mucho) más poderoso de lo que creían: contiene una poderosa herramienta de programación llamada “Visual Basic”.
Sin embargo, este poder tiene sus riesgos, razón por la cual no está habilitado por defecto.
En el presente artículo no haremos programación como tal. Solo descubriremos como realizar esta magia.
Antes de poder usar esta habilidad, es necesario modificar la configuración de Excel.
Habilitación de las funcionalidades de programación
Para empezar, deben acceder al menú “Archivo” a la izquierda de la barra de menú principal (haciendo clic):


En la pantalla que aparece, hay una lista al extremo izquierdo de la ventana. En esta lista, debe elegir el último ítem abajo, “Opciones” (haciendo clic):
Les aparecerá la ventana “Opciones de Excel”, en la cual elegirán el ítem “Personalizar cinta de opciones” en la lista a la izquierda (haciendo clic).
Luego, en la lista que aparecerá a la derecha, activen la casilla de “Programador” (haciendo clic en el cuadrito).
Nota: si la casilla ya está “chuleada” (es posible, aunque poco probable) no necesita este paso.
Finalmente, validen este cambio, haciendo clic sobre el botón “Aceptar”.

La ventana desaparecerá y, en la barra de menú principal, tendrán un nuevo menú, “Programador”:

Para qué sirve el menú “Programador”
Visual Basic
En Excel, existen varios niveles de programación. El nivel más elaborado es una programación como tal, con un lenguaje llamado “BASIC”, utilizado por muchos desarrolladores.
Este lenguaje, de origen académico (para enseñar la programación), nació en 1964, luego evolucionó mucho.
La versión que Microsoft puso en Excel se llama “Visual Basic”. Dispone de una interfaz visual y de herramientas que facilitan el trabajo de desarrollo.
El nivel más sencillo (el que examinaremos), es la creación de “macros”.
Una macro es una tarea que Excel puede ejecutar, automáticamente. Crearemos una, para que se den cuenta.
El menú “Programador” contiene los siguientes elementos:


Para el presente artículo, solo nos interesa el módulo a la izquierda, llamado “Código”:
Uno de sus ítems dice “Grabar macro”. Es el que aprovecharemos.
Grabando una “macro”
Nombrar la macro
Antes de empezar, haremos clic sobre una casilla de la hoja Excel (cualquiera que no sea la primera, “A1”)
Hagamos clic sobre el ítem “Grabar macro”. Aparece la ventana siguiente:

En el campo “Nombre de la macro”, reemplacemos el nombre por defecto por uno de nuestra elección, “Escribir_Texto_1”.
Dos comentarios:
- El nombre propuesto por defecto es “Macro”, seguido de un número. Podríamos dejar este nombre, por pereza, pero es un peligro: todas las macros tendrían casi el mismo nombre.
El nombre personalizado nos permitirá identificar la tarea que ejecutará la macro.
- La sintaxis del nombre importa: el espacio (de la escritura normal) no está autorizado. Es un “carácter inválido”.
Por eso es costumbre reemplazar el espacio por un guion bajo: “_”.
Crear la tarea de la macro
Al dar clic sobre el botón “Aceptar”, la ventana “Grabar macro” desaparece.

Seleccionamos la primera celda (en la posición “A1”), y escribimos “Texto 1” en ella.
Es todo lo que hará esta primera macro.


Para terminar la grabación, hagamos clic sobre “Detener grabación” (es la opción que reemplazó “Grabar macro” cuando empezamos la grabación).
Ya tenemos nuestra primera macro.
Creamos otras dos macros:
- “Escribir_Texto_2” escribirá el texto “Texto 2” en la celda “A2”,
- “Escribir_Texto_3” escribirá el texto “Texto 3” en la celda “A3”.
En pantalla, su tabla Excel debe mostrar lo siguiente:

Ejecutar macros
Hasta ahora, no hemos hecho nada especial… Así que borremos estos textos en pantalla.

Con su pantalla “limpia”, regresemos al menú “Programador”, y hagamos clic sobre la opción “Macros”. Este icono hace parte del mismo grupo “Código”, y da acceso a la lista de macros asociadas a nuestro libro Excel.

¡Las tres macros que hemos creados están en esta lista!
Seleccionamos la macro “Escribir_Texto_1” y hagamos clic sobre “Ejecutar”.
Hagamos lo mismo con la macro “Escribir_Texto_2”, y finalmente con la macro “Escribir_Texto_3”.
¿Interesante, cierto? Ya superaron el primer nivel de programación.
Visual Basic
Acceder a la ventana de programación
Las macros podrían ser mucho más elaboradas: se puede, por ejemplo, grabar la secuencia de creación de una gráfica.
En el presente caso, hicimos tres macros muy sencillas, para facilitar nuestra próxima tarea: analizar su contenido.

En el mismo grupo “Código” del menú “Programador”, se encuentra otra opción: “Visual Basic”, que mencionábamos al inicio del artículo.
Hagamos clic sobre esta opción.
Aparece una ventana completamente diferente.

A la izquierda, está una lista de “objetos” en carpetas.
Una primera carpeta dice “Microsoft Excel Objetos” (las hojas y libros Excel son, efectivamente, objetos Excel).
Debajo de esta carpeta está otra que dice “Módulos”. Los módulos son bibliotecas de macros.
Uno puede crear muchos módulos. El primero que se encuentra en esta carpeta es “Módulo1”, el que se generó cuando hemos creado nuestras macros.
A la derecha, una zona de texto donde aparecen el contenido de las macros que hemos creado.
Nota: si esta zona de texto no muestra sus macros, por favor hagan un doble clic en “Módulo1” de la lista a la izquierda.
Contenido de las macros (minicurso)
Sin detallar mucho, veamos una de las 3 macros:

No está escrita en mandarín… En programación, se llama una “rutina” o un “subprograma” (por eso empieza por “Sub”). O llámenla “macro”, si prefieren su denominación Excel.
Una explicación rápida:
Una rutina “Visual Basic” empieza con una línea que dice “Sub”, seguida de un espacio y del nombre de la rutina.
Al otro extremo, la rutina se termina con una línea “End Sub” que indica el final de la rutina.
Cuando se pide la ejecución de la rutina macro, las líneas intermedias entre “Sub” y “End Sub” son las instrucciones que se ejecutarán.
En el presente caso, las tres instrucciones son:
- Range(“A1”).Select
- FormulaR1C1 = “Texto 1”
- Range(“A2”).Select
Comentarios varios:
- Los paréntesis después del nombre de la macro son integrados a Visual Basic (sin uso en nuestro caso)
- Las líneas vacías sirven solo a proveer legibilidad entre bloques de líneas instrucciones (y no son leídas).
- Las líneas que empiezan por un “ ’ ”, y que están escritas en verde son comentarios introducidos por el diseñador (y tampoco son leídas).
Escritura de un “batch”
En informática, un “batch” es una secuencia de comandos, y se trata del segundo nivel (todavía muy sencillo) en programación.
Les daremos un ejemplo de eso, usando las tres macros anteriores.
En el “Módulo 1”, debajo de la última macro, escribamos lo siguiente:

En la ventana “Macros” aparecerá la nueva macro “Escribir_Todo” que, cuando se ejecuta, realiza lo que parece: ejecutar las tres macros en secuencia.
Por cierto, nos hemos tomado la molestia de “limpiar” las diferentes macros de la lista, para que vean cual es el contenido realmente útil:

Explicación: cuándo grabamos una macro, Excel interpreta lo que hacemos y lo traduce en un código “Visual Basic” que funciona, pero que no es óptimo (AKA compacto).
Ahora, se volvieron programadores de segundo nivel.
Les falta, sin embargo, una última información: cómo guardar sus macros.
Se necesita, simplemente, guardar el archivo Excel. Notaran un detalle: la extensión del archivo no será “.xlsx” sino “.xlsm” (terminando con una “m” por “macro).
Próxima etapa, quizás
Con las informaciones anteriores, pueden desenvolverse y, tal vez, antojarse.
Para terminar, y generar curiosidad, hemos escrito la macro siguiente, más compacta y que hace lo mismo que todas las anteriores:

Serían los primeros pasos de un tercer nivel, el que, pensamos, se pretende enseñar a los estudiantes.
Encontraran en Internet muchas propuestas para descubrir este nivel en Visual Basic (ninguna de las cuales les parecerá sencilla).
Sin embargo, nadie dijo cual lenguaje de programación será enseñado:
¿Visual Basic (como aquí), Basic.Net, C, C++, PHP, Python, Javascript? Sin saberlo, es muy complicado seguir adelante.
Vamos a pensar como escribir algo sobre los niveles de programación arriba de estos niveles básicos.
Será, muy probablemente en Visual Basic, porque hemos empezado con él, y que les da propósito e ideas con sus hojas Excel.
Es, de hecho, una razón de peso: para progresar en programación, hay que tener un propósito. Si no, se vuelve demasiado abstracto.
Leave A Comment