¡Bienvenidos!
pitagoras Tresfonsitas

Estudio de un tema

El conjunto de macros que vamos a presentar permite ejercitarse con una bateria de preguntas sobre un tema cualquiera.

Hoja de cálculo

Las macros operarán sobre una hoja de cálculo (llamémosla Autores Literarios) de un libro de Excel (Libroestudio, por ejemplo).

En la celda A1 escribiremos el número total de preguntas. En la celda B1 figurará el nº de orden de la próxima pregunta; aunque el valor de esta celda será variable, comenzaremos por el número 1.

A partir de la fila 41 iremos escribiendo preguntas y respuestas. Las preguntas en la columna A y en la B las respuestas (en mayúsculas y sin signos ortográficos).Se trataría de proponer una obra y la respuesta deseada, el autor. Este sería el aspecto de la hoja.

Macro inicial

La macro inicio lee el número total de preguntas y el número de la pregunta que toque; y escribe el número de la pregunta siguiente (salvo que estemos ya en la última, en cuyo caso escribe 1).

Luego lee la pregunta y la respuesta. Cuenta el tamaño de la respuesta y analiza las letras que contiene y los blancos que separan las palabras. Nos ofrece esta información en la celda B21, representando las letras por guiones y dejando constancia de los blancos separadores. En la celda B20 escribe la pregunta.

Podemos ver como quedaría la hoja.

Como se puede ver hemos decorado las celdas que contienen la pregunta y la estructura (guiones y blancos) de la respuesta. Para ello nos ha bastado seleccionar en el menú de Excel la secuencia format/cells/patterns.

Y también podemos disponer del código de la macro inicio.

VISUAL BASIC

Para acceder a Visual Basic seleccionaremos tools/macro/VisualBasicEditor en el menú de Excel. Ya en Visual Basic abrimeros un módulo en el que escribir nuestra macro, mediante insert/module. También conviene tener abierta la ventana de la izquierda, lo que se puede hacer mediante view/ProjectExplorer.

En el editor escribiremos nuestra macro que hemos llamado inicio.

Para ejecutar la macro nos situaremos en la hoja Autores Literarios y en el menu de Excel marcaremos tools/macro/macros y seleccionada la macro inicio la pondremos en marcha mediante Run.

La ejecución puede presentar algunos problemas. En primer lugar consideremos la posibilidad de tener alguna pequeña equivocación al escribir el código; la ejecución se interrumpirá y nos avisará del problema; supongamos que hemos corregido ya ese pequeño error; pues bien, al intentar ejecutar de nuevo la macro se nos avisará de que se encuentra interrumpida. Para salir de esta situación, en Visual Basic marcaremos Run/Reset.

En segundo lugar, si nos encontramos en una tarea de edición en una celda de la hoja, y nos olvidamos de concluírla, la ejecución de cualquier macro se vuelve inaccesible. La salida es obvia: concluir la tarea de edición.

Por último, Excel puede controlar la ejecución de macros por problemas de seguridad. En este sentido es recomendable fijar, mediante tools/macro/security el nivel de seguridad medio que nos permitirá, según nuestro criterio, habilitar las macros que sean de nuestra confianza.

Macro final

Si conocemos la respuesta, la macro final nos la ofrecerá para comprobar nuestro acierto. Lee el número total de preguntas y el número de la pregunta; recordemos que la macro inicio ya ha fijado ese número de orden para la siguiente pregunta; en particular, si ese número es el 1, entonces la pregunta en curso es la última.

Luego lee la respuesta y en la celda B21 la escribe.

Podemos ver como quedaría la hoja.

Y también podemos disponer del código de la macro final.

Macro seleA

Si no estamos seguros podemos ir construyendo la respuesta letra a letra.

La macro seleA también lee el número total de preguntas y el número de la pregunta que toque.

Luego lee la respuesta. Cuenta el tamaño de la respuesta y analiza las letras que contiene. Identifica los caracteres que coinciden con la letra "A" y nos ofrece esta información en la celda B21, que ahora tendrá guiones, blancos separadores y, eventualmente, la letra "A".

Podemos ver como quedaría la hoja.

Y también podemos disponer del código de la macro seleA.

La macro seleE, la obtenemos de seleA, cambiando el nombre y el carácter a identificar.

Así quedaría la hoja tras ejecutar seleE.

Conscientemente hemos olvidado comentar una tarea que realiza la macro seleA, y por tanto también la seleE: leer el contenido de la celda B21 para así poder sumar cada carácter identificado a los que lo hayan sido previamente.

Luego construiríamos las macros correspondientes a las otras 3 vocales. Y por fin las macros de las 22 consonantes: B, C, D, F, G, H, J, K, L, M, N, Ñ, P, Q, R, S, T, V, W, X, Y, Z.

Botones y Barras de herramientas

Para agilizar la ejecución de las macros es recomendable utilizar botones y barras de herramientas. Para las barras haremos: tools/customize/toolbars/new. Supongamos que le damos el nombre: "Estudio de un tema".

Para los comandos la secuencia será: tools/customize/commands/macros. Luego arrastramos tantos botones como necesitemos hasta la barra. Luego diseñamos el botón, por ejemplo para la macro inicio. Pinchamos el icono que está dentro de la barra con el botón derecho del ratón, cuidando de que la ventana tools/customize/commands/macros. siga abierta; le ponemos el nombre "Inicio" y seleccionamos Text Only (Always); por último le asignamos la macro inicio. Hacemos lo mismo con la macro final.

Este es el aspecto que tendrá la hoja con nuestra barra personalizada.

En Excel 2007 desapareció del menú la posibilidad de construir estas barras de herramientas. Pero siempre era posible colocar botones asociados a macros en la barra de herramientas de acceso rápido

Por fortuna en Excel 2010, ya se pueden diseñar independientemente estos grupos de botones. Así lo permite el menú en "Personalizar cinta de opciones": las macros se podrán agrupar en "fichas" personalizadas y, en un segundo nivel, en "grupos" personalizados.

Ejecución de macros por teclado

Es posible ejecutar la macro seleA mediante las teclas CTRL A (manteniendo pulsada CTRL se pulsa A).

En el menú de Excel seleccionaremos tools/macro/macros; marcaremos la macro seleA y luego options y la tecla A. Este mecanismo es adecuado para las macros identificadoras de letras. Si tenemos problemas con la Ñ podemos habilitar un botón en la barra de herramientas "Estudio de un tema".

¡Hola!
¡Un saludo!