Juan Garcés

Personal Blog

Macros en Microsoft Excel

enero 17th, 2013

 

 

Programación Avanzada de Macros

 

Mejorando la Presentación

En esta sección veremos algunas formas en que el utilizar las macros se convertirá en algo muy simple.

 

Insertar Botones en la Hoja

Al ejecutar una macro necesitamos abrir una ventana (ver figura 12) en la cual se enumeran todas las macros que tengamos.  Allí deberemos seleccionar la que deseemos utilizar y ejecutarla.  Pero ahora veremos algo un poco más simple y se trata de insertar botones de formulario.

Para ello haremos visible la barra de herramientas de Formularios, como podemos ver en la figura 20.

 

 tutmac_20

Figura 20:  Muestra la forma en que se hace aparecer la barra de herramientas de Formularios

 

Al hacer click aparecerá la barra de herramientas en la cual se encuentran una serie de elementos insertables y que podemos enlazar con una macro.  Veamos en la siguiente figura cómo esta compuesta esta barra de herramientas.

 tutmac_21

Figura 21: Muestra lo componentes de la barra de herramientas de Formularios

 

Ahora bien, insertemos un botón en la hoja de cálculo y enlacémosla con una de las macros que hemos realizado.

 tutmac_22

Figura 22: Se muestra la forma de enlazar un botón con una macro.

 

Al realizar la operación anterior, el botón queda enlazado con la macro que hemos seleccionado.  Gracias a ello, al presionar en el botón se ejecutará la macro.

También podemos cambiar el mensaje que aparece dentro del botón, como se muestra en la siguiente figura. Sólo debemos seleccionar el botón haciendo click con el botón derecho y luego seleccionar la opción “Modificar Texto”.

 tutmac_23

Figura 23: Muestra la forma en que se cambia el nombre del botón.

 

Ya hemos logrado insertar un botón enlazado a una imagen.  Si el lector lo desea puede probar con los demás controles para ver con cuales obtiene un resultado semejante.

 

Insertar un Icono en la Barra de Herramientas

Ahora realizaremos algo diferente, pero con lo cual podremos obtener el mismo resultado.  Se trata de los íconos de la barra de herramientas.  Podemos insertar uno o varios de estos botones y podremos enlazarlos a macros.  Veamos en las siguientes figuras la forma en que se debe realizar.

 

 tutmac_24

Figura 24:  Muestra la forma en que se debe insertar un ícono para asignarle una macro.

 

Podemos encontrar la ventana anterior en el menú Ver, sub-menú Barra de herramientas opción Personalizar…  Seleccionando la categoría Macros nos encontraremos con la opción Personalizar Botón, donde arrastrando el botón a la barra de herramientas se insertará el ícono que podremos asignar y modificar como queramos.  En la siguiente figura podemos ver este proceso.

 

tutmac_25

Figura 25:  Muestra la opción en que se puede asignar la macro al botón.

 

Podemos asignar la macro al botón y cambiar la imagen, entre otras cosas. Podemos insertar tantos botones como deseemos.  Sólo debemos tomar nuevamente el botón y arrastrarlo hacia la barra de herramientas (como se muestra en la figura 24).

 

Uso de Formularios

 

 tutmac_26

Figura 26:  Muestra la inserción de un formulario en el Libro.

 

En la figura 26 se muestra la inserción de un nuevo formulario, el cual se puede encontrar en el menú Insertar, sub-menú Formulario.  En este formulario podremos insertar cuadros de texto, etiquetas, listas, etc.  Por medio de ellos podemos manipular los datos, tanto de la hoja de cálculo como aquellos que podamos utilizar dentro del mismo formulario.

 

Para insertar un nuevo control en el formulario debemos seleccionar el control que deseemos insertar y dibujarlo en el formulario dando un click y moviéndolo hacia la derecha sin soltar el click.

 

Por ejemplo, si deseamos crear nuestra calculadora básica (ejercicio c de la sección de macros manuales) podríamos crear un diseño de formulario como se muestra en las figuras siguientes.

 

Allí podemos ver que se encuentran los casilleros correspondientes para insertar los valores e ingresar el signo respectivo a la operación que se desea realizar.

 

Creación de un Formulario

 

Para crear el formulario que necesitamos para el ejercicio anterior seguiremos una serie de pasos que detallaremos para una mejor comprensión.

 

 tutmac_27

Figura 27: Muestra creación de formulario.  Paso 1

 

Como dijimos anteriormente, podemos crear objetos y en este caso, una ventana (o formulario como le llamaremos aquí).  Un formulario tiene propiedades, que son las que le indicarán por ejemplo el nombre, que es por medio del cual nos referiremos al objeto.  Por ejemplo, si queremos cambiar alguna propiedad del formulario que creamos en la figura 27 deberemos hacer referencia a sus atributos por medio del nombre que le pusimos.  O sea, si queremos ponerle un título (propiedad Caption) podemos escribir “Calculadora.Caption=”Calculadora Básica” y lo mismo para los demás atributos.

El nombre del formulario es distinto del Caption.  El nombre (Name) es el que utilizamos para referenciar el objeto.  En cambio el Caption es el título, lo que se ve por la pantalla, como se muestra en la figura 27.

 

Inserción de Objetos en el Formulario

 

Es aconsejable siempre poner un nombre a todos los objetos que utilizamos en el formulario.  Ahora insertaremos los siguientes objetos en el formulario.  Vemos las siguientes imágenes.

 

 tutmac_28

Figura 28:  Inserción del objeto Cuadro de Texto.  El nombre que le hemos dado es Operador1

 

Los objetos insertables son los que aparecen en el Cuadro de herramientas. La etiqueta (que dice Operador 1) se puede insertar seleccionando el control que se encuentra a la izquierda del control cuadro de texto que se muestra en la imagen 28.

 

 tutmac_29

Figura 29: Muestra inserción de cuadro de texto operación.

 

Todos los objetos que insertemos en el formulario tienen un nombre que puede variar según los requerimientos del usuario.  El objeto etiqueta también puede tener un nombre.

 

En las siguientes imágenes se muestra la finalización del formulario, donde se insertarán los controles respectivos al ingreso del segundo operador y el botón con el cual ejecutaremos la macro.

   tutmac_30

Figura 30:  Muestra la inserción del cuadro de texto para ingresar el operador 2

 

 tutmac_31

Figura 31: Muestra la inserción del botón Calcular.

 

Ahora ya tenemos listo el formulario con el cual realizaremos nuestra calculadora.  Sólo falta poner el código que realizará el cálculo.

 

Inserción de Código de Programación

 

Debemos poner el código en el evento click del botón que hemos insertado (pues deberán realizarse los cálculos al presionar dicho botón).  Para ello haremos doble click en el botón y se abrirá una ventana en la cual podremos poner el código que realizará el cálculo.

 

 tutmac_32

Figura 32: Muestra el editor del evento click del botón Calcular.

 

Lo que debemos hacer es poner el código que realizará el cálculo de la operación de acuerdo al símbolo que se encuentre en el segundo cuadro de texto que hemos puesto en el formulario.

 

Para ello deberemos crear un código semejante al que hemos realizado en el ejercicio c de la sección de macros manuales.

 

Veamos el código resultante que realizará el cálculo de la operación matemática.

 tutmac_33

Figura 33:  Muestra el código resultante para la calculadora básica.

 

 

Veamos línea por línea el significado del código anterior.

 

Private Sub Calcular_Click()         à Inicio de nuestro código.  Esta escrito en el evento Click (o sea, cuando se hace click en el botón).

Select Case Operacion.Text      à Realizamos un select de acuerdo a la operación que se haya escrito en el objeto Operacion.   La propiedad Text es la que nos indica que es lo que hemos escrito en el cuadro de texto.

    Case «+»               à  En caso de que lo que hayamos escrito en el cuadro de texto Operación un signo + entonces se realiza lo que esta a continuación.

 

        Resultado.Text = Val(Operador1.Text) + Val(Operador2.Text)        à Como lo que había en el cuadro Operación era un signo + entonces debemos sumar lo que tenga el cuadro de texto Operador1 más lo de cuadro de texto Operador2.

            Como lo que hay en los cuadros de texto es “Texto” (lo mismo que pasa en las celdas de Excel muchas veces) entonces debemos transformarlo a un número.  Para ello se pone la función VAL antes del contenido del cuadro de texto.

 

    Case «-»    à Si es un signo – entonces debemos realizar la resta y poner el resultado en el cuadro de texto resultado.

        Resultado.Text = Val(Operador1.Text) – Val(Operador2.Text)

 

    Case «*»   à Si es un signo * entonces multiplicamos.

        Resultado.Text = Val(Operador1.Text) * Val(Operador2.Text)

 

    Case «/»    à Si es el signo / debemos realizar la verificación de división por 0 y realizamos la operación que corresponde.

 

        If (Val(Operador2.Text) = 0) Then

            Resultado.Text = «Error: Intenta dividir por 0 y no está definido.»

        Else

            Resultado.Text = Val(Operador1.Text) / Val(Operador2.Text)

End If

 

Case Else             à Si no es ningún símbolo válido entonces se muestra el mensaje de error.

        Resultado.Text = «Operación no Válida»

 

End Select               à Fin del select.

End Sub                   à Fin del código del botón.

 

Hasta ahora hemos realizado un formulario relativamente simple, usando controles básicos en la comunicación con el usuario y donde éste es el que debe realizar todas las tareas para obtener el resultado deseado.

 

 

Juan Garcés

Personal Blog