1. Controles de formulario (I)
Tenemos el siguiente formato en Excel donde hacemos un cálculo de el pago mensual que hay
que realizar con base en los datos de un préstamo, usando la función PAGO.
Figura 2. Formato usando la función PAGO en Excel.
Los datos actualmente se cambian de manera manual para que las fórmulas funcionen. Lo que
deseamos es insertar Controles para que los valores numéricos sean controlados en cuanto a
valor mínimos y máximos.
Control de número para préstamo solicitado
Para poder elegir la cantidad del préstamo solicitado nos vamos a la pestaña Programador >
sección Controles > Insertar > Controles de Formulario > Control de número.
Una vez insertado el Control, lo elegimos y damos clic derecho para elegir la opción Formato
de Control.
2. Figura 3. Control de número para elegir valores mínimos y máximos.
El valor se vinculará a la celda A4, pero como el valor máximo es 30000, entonces en la
celda C4 ingresamos la fórmula =A4*10
Control de Barra de desplazamiento para elegir la tasa de interés.
Nos vamos a la misma ruta del control anterior, pero ahora elegimos el Control Barra de
desplazamiento. Con el Control elegimos damos clic derecho, Formato de control. Como valor
mínimo elegimos 1 y valor máximo 12. Además de asignar 1 como incremento, para que
cada vez que se mueva el control, se avance en el múltiplo.
Figura 4. Control Barra de desplazamiento en Excel.
El valor se vinculará a la celda A5, y para obtener el valor en porcentaje, en la
celda C5 ingresamos la fórmula =A5/100
Control de Casilla de verificación para mostrar el Total a pagar
Nos vamos a la pestaña Programador para insertar el Control de Casilla de verificación. En
la configuración le indicamos que se vincule a la celda A8. Si marcamos la casilla se
devolverá VERDADERO, de lo contrario se devolverá FALSO.
3. En caso de que marquemos la casilla de verificación y se devuelva VERDADERO, tomaremos
este valor para usarlo en Formato condicional donde indicaremos que si el valor es
VERDADERO, entonces le damos color de fuente blanco.
Introducción
Aquí verás el vídeo de este artículo:
En el curso de Excel de aulaClic hemos aprendido a hacer macros de Excel con dos
métodos: usando la grabadora de macros o bien programándolos directamente usando
VBA. También ya vimos que podemos ejecutar una macro seleccionándola en la lista de
macros o podemos establecer una combinación de teclas que la dispare. ¿Existe un
método adicional? Sí, asociar una macro a un botón que podemos crear y ubicar en
cualquier punto de la hoja de cálculo.
Como sabemos, las aplicaciones en Windows suelen tener algunos elementos comunes
que nos permiten utilizarlas, como los botones. También hay barras deslizables, listas
desplegables, botones de selección, casillas de verificación y otros más que reciben el
nombre de Controles.
Los Controles en Excel son piezas de interfaz de aplicaciones que podemos insertar en
las hojas de cálculo para crear formularios de una gran funcionalidad, toda vez que
podemos utilizarlas en combinación con las macros para ejecutar acciones, o bien
combinarlos con las fórmulas y funciones para capturar datos y obtener diversos
resultados. El uso y configuración de Controles en Excel no requiere realmente
conocimientos de programación y con el diseño y la sofisticación adecuada permiten crear
la apariencia de una aplicación en una hoja de cálculo o, simplemente, facilitar su uso
cuando se delega a terceras personas.
Los formularios que podemos crear con controles pueden servir, por ejemplo, para
crear pantallas de registro de pacientes. O bien presentar resultados de cálculos.
4. Podríamos usarlas para capturar información de calificaciones, calendarios de actividades
y todo lo que podamos imaginar. Si nuestra tarea puede realizarse con una hoja de
cálculo, seguramente podrá hacerse y/o verse mejor con un formulario y sus respectivos
controles.
Para mostrarlo, crearemos un formulario muy sencillo para calcular los pagos
mensuales en la adquisición de un bien inmueble. Se trata, por supuesto, de una
aplicación hipotética en la que el objetivo es, fundamentalmente, revisar el uso de los
botones, los controles de número, las barras de desplazamiento, los botones de selección,
las casillas de verificación y las listas desplegables.
Activando los Controles
Para utilizar los controles, lo primero que debemos hacer es activar la
pestaña Programador de la Cinta de Opciones, toda vez que, de manera predeterminada,
se encuentra desactivada en la interfaz de Excel. Para ello debemos ir al menú Archivo y
luego en Opciones.
En la ventana de Opciones de Excel debemos pulsar en la categoría Personalizar
cinta de opciones del panel de la izquierda. A la derecha veremos una lista de las
pestañas principales. Ahí encontraremos desactivada la pestaña Programador. La
activamos y pulsamos Aceptar.
5. Con ello se añade la pestaña Programador a la interfaz de Excel, la cual tiene 4
secciones: Código (que vuelve a incluir las opciones para grabar macros), Complementos,
Controles (que son los que nos importan en esta unidad) y XML.
Creando y configurando controles
Cada control tiene una función específica, por lo que los parámetros que requiere son
distintos entre ellos. Sin embargo, los controles se insertan en la hoja de cálculo siempre
del mismo modo. Pulsamos el botón Insertar de la sección Controles y seleccionamos el
control deseado:
6. Después dibujamos con el cursor el tamaño que va a tener el control sobre la hoja de
cálculo. Por ejemplo, podemos seleccionar un control de número e indicar su tamaño en la
hoja, incluso de modo desproporcionado, como en la siguiente imagen:
Obviamente, un buen diseño de formulario en una hoja de cálculo debe incluir controles
bien presentados. Sin embargo, debemos aprovechar para mencionar que un control en la
hoja incluye anclas a su alrededor, como cualquier otro objeto de dibujo de Excel, o un
gráfico, con los que podemos redimensionar el control o tomarlo por el centro y reubicarlo
en la hoja.
En este caso, ya hemos hecho clic fuera del control. Para volver a seleccionarlo
debemos hacer clic en él al mismo tiempo que pulsamos la tecla Control. También es
importante mencionar que cuando tenemos uno o más controles seleccionados, aparece
la pestaña contextual Formato en la Cinta de opciones, la cual nos permite dar estilo,
colores, relleno y otros efectos a los controles de formulario. Pero su funcionalidad más
común es permitirnos reorganizarlos, es decir, alinearlos y distribuirlos en la hoja para una
mejor apariencia, como veremos más adelante.
Pero volvamos. Decíamos que todos los controles se crean con el mismo
procedimiento: Se seleccionan en el botón Insertar de la sección Controles de la pestaña
Programado, luego se dibujan en la hoja de cálculo. Después debemos configurar su
comportamiento a través de su respectivo cuadro de diálogo. Para ello podemos
7. seleccionar el control y pulsar el botón derecho del ratón, del menú contextual
seleccionamos la opción Formato de control.
Otra posibilidad es seleccionar el control y pulsar el botón Propiedades de la sección
Controles . En ambos casos se abre la ventana que permite configurar el
comportamiento del control seleccionado.
Como ya mencionamos, cada control tiene un cuadro de diálogo distinto según su
función. Por ejemplo, un botón de opción tiene un cuadro de diálogo como el siguiente:
8. La lista de controles disponibles en el botón Insertar son los siguientes:
Sin embargo, debemos mencionar que algunos controles sólo pueden utilizarse en los
formularios de usuario de Visual Basic para Aplicaciones (VBA) y no directamente en las
hojas de cálculo, por lo que hay que entrar al editor que vimos en el capítulo dedicado a
macros.
Como mencionamos en la introducción, para ver cómo funcionan los controles y cómo
podemos crear con ellos un formulario en una hoja de cálculo, vamos a crear un ejemplo
sencillo de una calculadora de pagos para un crédito inmobiliario donde vamos a ocupar
varios de ellos.
Un formulario simple de pagos de bienes inmuebles
9. Es importante mencionar que los cálculos mostrados en este ejemplo no se
corresponden de ningún modo a los que son necesarios para establecer los pagos de
bienes a crédito. Se trata solamente de mostrar el posible uso de un formulario con
controles sin entrar en datalles de finanzas.
El formulario, sin un formato muy elaborado, quedaría del siguiente modo:
En el primer control seleccionamos el tipo de vivienda a adquirir en este caso hipotético.
Puede ser un departamento, una vivienda unifamiliar o una residencia. Para seleccionarla,
utilizamos un control de cuadro combinado . Como ya mencionamos, seleccionamos el
control y luego dibujamos sus dimensiones en la hoja de cálculo. Los datos que debe
mostrar la lista deben encontrarse disponibles en un rango de celdas. Por tanto, debemos
establecer las propiedades del control. En este caso son las siguientes:
10. - Rango de entrada. Es el rango de celdas donde se encuentran los datos que va a
mostrar la lista del cuadro.
- Vincular con la celda. Es la celda donde va a presentar el número del ítem de la lista
seleccionado.
- Líneas de unión verticales. En el caso de listas muy grandes, es el número de datos
que va a mostrar sin necesidade de utilizar la barra deslizable. Como en este caso sólo
tenemos tres datos, no requerimos presentar muchas líneas.
- Sombreado 3D. Afecta la presentación del control con un tenue efecto de sombra.
Una vez indicados esos datos, cuando desplegamos el cuadro se muestra del siguiente
modo:
A su vez, la celda vinculada al resultado (K5) la dejamos fuera del formulario, pero sin
duda utilizamos su resultado. Junto a K5 podemos ver las celdas con los elementos de la
lista en el rango L5:L7.
.
En el formulario hemos establecido una celda que muestra el precio de la vivienda
seleccionada en el cuadro combinado. Obviamente, insistimos, los valores no
corresponden a los precios reales en ninguna moneda ni en ningún país en particular. Se
muestran en Euros solo para efectos de presentación en formato monetario. Si se
selecciona Departamento en la lista, se muestra un valor de 50000. 75000 en caso de
Unifamiliar y 90000 para Residencia. Esto lo conseguimos evaluando el contenido de la
celda K5 que contiene el número de ítem de la lista seleccionado. Por tanto, la fórmula
que presenta el precio tiene la siguiente función SI():
=SI(K5=1;50000;SI(K5=2;75000;90000))
11. Que puede leerse, simplemente, como "Si K5 es igual a 1, entonces 50000, si no es
así, evaluamos si K5 es igual a 2, entonces, 75000, de lo contrario es 3 y,por tanto,
90000".
A la derecha hemos dibujado un control de Cuadro de grupo . El Cuadro de grupo
no realiza ninguna función en sí. Sirve para agrupar otros controles. Como veremos un
poco más adelante, en el caso de los controles de opción, es importante usar un cuadro
de grupo toda vez que los botones de opción son excluyentes. En en caso de las casillas
de verificación no es así, cada una es independiente. Colocarlas dentro de un cuadro de
grupo es opcional y lo hemos utilizado sólo para efectos de orden. Más adelante
insistiremos en el tema.
Dentro del Cuadro de grupo colocamos casillas de verificación. Cada casilla
corresponde a un accesorio que podemos añadir a la vivienda seleccionada y el usuario
puede comprarla o no. Si se activa la casilla, se entiende que se desea la vivienda con
ese accesorio y, por tanto, el precio de la vivienda se incrementa. Los accesorios
disponibles son:
La Cocina Integral incrementa el precio en 3500, la Tina de baño en 4000 y la Segunda
cochera en 7500.
Ya mencioamos el procedimiento para crear cada control: Se selecciona y se dibuja en
pantalla, después, seleccionado, debemos abrir su cuadro de propiedades para
configurarlo. Veamos las propiedades de un control de casilla de verificación .
12. - Sin activar. Muestra la casilla sin activar.
- Activada. Ídem.
- Mixto. Muestra la casilla con un relleno color gris, pero sin dato definido en la celda
vinculada.
- Vincular con la celda. Es la celda que mostrará el resultado dependiendo si está
activada o no. Si la casilla está activada, la celda vinculada mostrará la leyenda FALSO. Si
está activada, VERDADERO.
Hemos vuelto a utilizar una celda fuera del formulario como celda auxiliar para el
resultado del control. Después debemos evaluar si la celda muestra Falso o Verdadero y
en función de ello añadir o no el valor del accesorio al precio de la vivienda.
La primera fila corresponde a la Cocina Integra, la segunda a Tina de baño y la tercera
a Segunda cochera. Como podemos ver, en este caso todas las casillas están
desactivadas. Para cada una hemos establecido una celda a la izquierda que evalúa su
estado (todas están en 0 en este momento). La función SI() queda del siguiente modo
para la primera casilla.:
=SI(L9=VERDADERO;3500;0)
Y la podemos leer de este modo: "Si L9 es igual a Verdadero, entonces esta celda
mostrará 3500, de lo contrario, 0). Si el comprador selecciona, por ejemplo, el primer y el
último accesorio, esas celdas cambian así:
13. En el formulario podemos, simplemente, añadir una celda que haga la suma de las
celdas con el valor de los accesorios y luego otra celda que muestre el total:
Ahora creamos un nuevo Cuadro de grupo. En esta caso, como mencionamos, no es
opcional. En este cuadro de grupo vamos a colocar botones de opción que quedarán
del siguiente modo:
Cuando colocamos dos o más botones de opciones en un cuadro de grupo, significa
que sus opciones son excluyentes. Es decir, sólo un botón puede estar activo. Por ello, al
pulsar en un botón no activado, el que esté activado se desactiva. Por tanto, cada
conjunto de botones de opción debe estar obligatoriamente dentro de un cuadro de grupo,
para que funcionen con independencia de otros botones de opción en un mismo
formulario. Por otra parte, como es común a otros controles, en la ventana de Formato de
control debemos establecer el estado inicial del botón y a cuál celda va a afectar. Es decir,
cuál celda mostrará su estado.
14. Cada botón de opción dentro del grupo queda numerado según el orden en que fueron
creados. La celda vinculada debe ser la misma para todos los botones del grupo. De este
modo, cuando está activo el primer botón, al celda vinculada muestra su número, el 1 en
esta caso. Si pulsamos el segundo botón cambiará a dos, etcétera. Para que esto nos
sirva en el formulario, debemos evaluar qué botón de opción está activo. En este caso,
indicamos 3 fuentes de financiamiento posibles: un crédito bancario, un crédito hipotecario
y un fondo de ahorro para vivienda. En cada caso, la tasa de interés aplicable al crédito
cambiará en función del botón seleccionado (9%, 7.5% y 6.9% respectivamente). De este
modo, los botones nos ayudan a elegir el tipo de financiamiento y por ende la tasa de
interés aplicable: . La fórmula para establecer
la tasa queda entonces así. Con lo visto hasta ahora, ya no es necesario interpretarla a
fondo:
=SI(L16=1;0,09;SI(L16=2;0,075;0,069))
En algunos casos, la compra de bienes a créditos requiere un adelanto (o enganche,
como se le llama en algunos países). Para establecer el monto del adelanto utilizamos un
control de número .
Al pulsar las flechas arriba o abajo, el valor de la celda vinculada aumenta o disminuye.
El rango de valores en que lo hace se establece, por supuesto, en su respectiva ventana
de Formato.
15. - Valor actual. Es el valor inicial de la celda vinculada.
- Valor mínimo y valor máximo: El rango de valores que abarcará el control de
número. El valor máximo de este control es 30000, pero si requerimos que refleje un valor
mayor, entonces podemos usar una fórmula con una celda auxiliar para establecerlo,
como en este ejemplo.
Como se puede observar, la celda L17 adquirirá entonces algún valor entre el 1 y el 8.
En la celda que mostramos arriba, con un adelante de 30.000,00 euros, simplemente tiene
la siguiente fórmula aprovechando el contenido de L17.
=L17*5000
Por tanto, cada vez que se pulsa el control hacia arriba, la celda refleja un aumento de
5000. El resto es darle un formato monetario.
Enseguida indicamos el plazo del crédito a través de una barra de desplazamiento
que hemos ubicado de modo horizontal. También puede usarse de modo vertical. De
modo similar al control de número, al desplazar la barra cambia el valor de la celda
vinculada.
Sus parámetros son los siguientes:
16. - Valor actual: Valor predeterminado de la celda vinculada.
- Valor mínimo y valor máximo: Rango de valores para la celda vinculada.
- Incremento: Variación en el valor de la celda vinculada al desplazar el control.
- Cambio de página. Es la cantidad de aumento o disminución del valor cuando se
hace clic dentro del control.
Con todos estos datos ya podemos calcular los pagos mensuales. Nuestra fórmula final,
para efectos de este ejemplo, queda así:
=(C11-F17)/F19+((C11-F17)*F16)/12
Es decir: (Precio total - Adelanto) / Plazo + (Precio total - Adelanto) * Tasa de interés /
Meses del año.
El pago total será el resultado anterior multiplicado por el plazo, o sea: =C23*F19
Finalmente. Añadamos un botón al formulario cuya función es, simplemente, limpiar
el formulario para nuevos usos. Para ello, usamos la grabadora de macros. Después
desactivamos las casillas de verificación (usando sus ventanas de propiedades),
pulsamos el control de número hasta dejarlo en el valor mínimo y hacemos lo mismo con
la barra de desplazamiento y terminamos de grabar la macro. Para asignar la macro al
botón, simplemente lo seleccionamos y en el menú contextual seleccionamos la opción
Asignar macro y seleccionamos la macro de la lista de macros.
17. Podemos crear macros y botones para que impriman el formulario o para que soliciten
el nombre del usuario. Podríamos tener un botón que lleve a otro formulario para
seleccionar nuevas opciones, etcétera. Las posibilidades son tantas como el usuario
desee. El requisito, en todo caso, es que sólo puede asignarse una macro a cada botón
que creemos del formulario.