You are on page 1of 14

Controles de formulario en

Excel
Los controles de formulario en Excel son objetos que podemos colocar
dentro de una hoja de nuestro libro, o dentro de un formulario de usuario
en VBA, y nos darn funcionalidad adicional para interactuar mejor con
los usuarios y tener un mejor control sobre la informacin.
Podemos utilizar estos controles para ayudar a los usuarios a seleccionar
elementos de una lista predefinida o permitir que el usuario inicie una
macro con tan solo pulsar un botn. Los controles de formulario en
Excel se encuentran dentro de la ficha Programador dentro del grupo
Controles. Solamente pulsa el botn Insertar y observars cada uno de
ellos:

Justo por debajo de los controles de formulario podrs observar el grupo


de controles ActiveX pero sus diferencias y similitudes las discutiremos
en otro artculo. Por ahora nos enfocaremos solamente en los controles
de formulario.

Cmo insertar un control de formulario en Excel?


Para insertar cualquiera de los controles de formulario debes
seleccionarlo del men desplegable y hacer clic sobre la hoja de Excel

arrastrando el borde para dibujar el contorno del control. Observa este


procedimiento.

Los diferentes controles de formulario


Existen diferentes tipos de controles de formulario en Excel que
ofrecen diversos tipos de funcionalidad e interaccin con el usuario.
Desde una simple etiqueta hasta controles que permiten una seleccin
mltiple de sus opciones. A continuacin una breve descripcin de cada
uno de ellos.
Barra de desplazamiento. Al hacer clic en las flechas se va
desplazando la barra dentro de un intervalo predefinido.
Botn. El botn nos permite ejecutar una macro al momento de
hacer clic sobre l.
Botn de opcin. Nos permite una nica seleccin dentro de un
conjunto de opciones.
Casilla de verificacin. Permite la seleccin o no seleccin de una
opcin.
Control de nmero. Nos ayuda a aumentar o disminuir un valor
numrico.
Cuadro combinado. Es una combinacin de un cuadro de texto
con un cuadro de lista.

Cuadro de grupo. Agrupa varios controles dentro de un


rectngulo.
Cuadro de lista. Muestra una lista de valores de los cuales
podemos elegir una sola opcin o mltiples opciones de acuerdo a
la configuracin del control.
Etiqueta. Permite especificar un texto o breves instrucciones en el
formulario.

Controles de formulario no disponibles en Excel


2010
Los controles de formulario han estado presentes por varias versiones de
Excel, sin embargo a partir de Excel 2010 existen algunos controles que
ya no pueden ser utilizados dentro de las hojas como lo son el Campo de
texto, el Cuadro combinado de lista y el Cuadro combinado desplegable,
sin embargo podremos alcanzar funcionalidad similar utilizando controles
ActiveX.
Los controles ActiveX son un tipo de controles que nos permiten
agregar funcionalidad de formularios a nuestros libros de Excel. Existe
otro tipo de controles que es conocido como Controles de formulario y
que tienen una funcionalidad similar, sin embargo existen algunas
diferencias entre ambos tipos.
Controles ActiveX y controles de formulario

Los controles de formulario fueron introducidos desde la versin 4 de


Excel y por lo tanto han estado presentes en la aplicacin por ms
tiempo que los controles ActiveX los cuales comenzaron a ser utilizados
a partir de Excel 97. Ya que los controles ActiveX fueron introducidos
posteriormente ofrecen ms posibilidades de configuracin y formato que
los controles de formulario. Ambos tipos de controles se encuentran en
la ficha Programador.

La diferencia ms significativa entre ambos es la manera en como


podemos obtener informacin de los controles al momento de interactuar
con el usuario. Los controles de formulario solamente respondern
despus de que el usuario ha interactuado con ellos, como despus de
haber pulsado el botn. Por el contrario, los controles ActiveX responden
de manera continua a las acciones del usuario lo cual nos permite
realizar acciones como cambiar el tipo de puntero del mouse que se
muestra al colocar el puntero del ratn sobre el botn.
Propiedades de los controles ActiveX

A diferencia de los controles de formulario, los controles ActiveX tienen


una serie de propiedades que podemos configurar pulsando el botn
Propiedades que se encuentra dentro del grupo Controles de la ficha
Programador.

Antes de poder ver las propiedades de un control ActiveX debemos


pulsar el botn Modo Diseo el cual nos permitir seleccionar el control y
posteriormente ver sus propiedades. Cada tipo de control ActiveX
mostrar una ventana de Propiedades con sus propias caractersticas. A
continuacin un ejemplo de la ventana Propiedades para un botn de
comando ActiveX:

Controles ActiveX con subrutinas VBA

Otra diferencia entre los controles de formulario y los controles ActiveX


es que los primeros pueden tener asignada una macro y al hacer clic
sobre el control de formulario se iniciar la ejecucin de dicha macro.
Los controles ActiveX no tienen asignada una macro explcitamente
sino que podemos asignar cdigo VBA para cada evento del control. Un
evento de un control ActiveX puede ser el evento de hacer clic sobre el
control, el evento de hacer doble clic, el evento de obtener el foco sobre
el control ActiveX, entre otros eventos ms. Para asignar cdigo a uno de
los eventos de un control ActiveX solamente debemos hacer clic derecho
sobre l y seleccionar la opcin Ver cdigo.

Esto mostrar el Editor de Visual Basic con una subrutina para el evento
Click() donde podremos escribir nuestro cdigo.

En la lista desplegable de la derecha podemos observar la lista de


eventos disponibles para nuestro control ActiveX y para los cuales
podemos escribir cdigo VBA. Al seleccionar cualquiera de dichos
eventos se insertar una nueva subrutina que podremos utilizar. Son
precisamente la gran cantidad de eventos disponibles para los controles
ActiveX lo que los hace controles muy poderosos que podemos utilizar
en nuestros formularios.
Otra ventaja de los controles ActiveX en Excel

En la versin de Excel 2010 algunos controles de formulario han dejado


de ser soportados y no podemos utilizarlos ms en nuestras hojas. Ese
es el caso del control de formulario conocido como campo de texto. Sin

embargo, dentro de la lista de controles ActiveX seguimos


teniendo disponible el control llamado Cuadro de texto lo cual puede
hacer atractiva la opcin de utilizar controles ActiveX en Excel en lugar
de controles de formulario.
Los formularios en Excel son un mtodo para ingresar datos a nuestras
hojas y son de mucha utilidad porque nos ayudan a evitar errores en la
captura de informacin. Podemos comparar los formularios de Excel con
los formularios impresos en papel.

Qu es un formulario en Excel?
Seguramente has llenado un formulario en papel, tal vez cuando has
acudido a alguna oficina de gobierno para realizar un trmite, as que
sabes de lo que estoy hablando. Estos formularios contienen
instrucciones precisas de lo que debes escribir y contienen los recuadros
necesarios para ingresar los datos.
Los formularios en Excel no son tan diferentes de los formularios
impresos ya que de igual manera proveen de los espacios necesarios
para ingresar los datos. Los formularios en Excel utilizan objetos
especiales conocidos como controles de formulario que son
precisamente los que nos permiten agregar campos de texto, listas,
botones de opcin entre otras cosas ms.

Tipos de formularios en Excel


Cuando hablamos de formularios en Excel, es necesario recordar que
podemos crear tres tipos diferentes de formularios:
Formulario de datos.
Hojas de clculo con controles de formulario o controles ActiveX.
Formularios de usuario en VBA.
A continuacin describir brevemente cada uno de ellos.

Formulario de datos

A travs de un formulario de datos podemos mostrar al usuario la


informacin de una sola fila de una tabla. En este formulario se puede
hacer la edicin de la informacin e inclusive crear un nuevo registro para
la tabla.

Excel puede generar automticamente un formulario de datos para


cualquier tabla. Un detalle importante que debes saber sobre
los formularios de datos es que si una celda contiene una frmula no
podrs modificar dicha frmula mediante el formulario sino que
solamente se mostrar el resultado del clculo sin poder editarlo.
Para saber ms sobre este tema consulta el artculo: Agregar filas a una
tabla de Excel.

Hoja de clculo con controles de formulario


Ya que las celdas de una hoja de Excel nos sirven para introducir
informacin, podemos pensar en una hoja como un gran formulario. De
esta manera, si agregamos controles de formulario a nuestra hoja
podremos crear formularios de entrada de datos muy tiles. Por ejemplo,
podemos agregar a nuestra hoja un control de cuadro de lista para
facilitar la seleccin de los elementos.

De igual manera podemos agregar botones, cuadros combinados,


casillas de verificacin y otros controles ms que nos ayudarn a crear
formularios avanzados.

Formulario de usuario en VBA


Los formularios de usuario en VBA, tambin conocidos como UserForm,
son cuadros de dilogo que hacen uso de controles de formulario para
solicitar informacin al usuario. Estos formularios son creados desde
elEditor de Visual Basic y administrados desde cdigo VBA.

Una vez que se ha creado el formulario de usuario podemos arrastrar y


soltar los controles que estn disponibles desde el Cuadro de
herramientas:

Si quieres crear un formulario bsico en VBA, sigue los pasos descritos


en el artculo Formularios en VBA.
Los diferentes tipos de formularios en Excel nos evitarn dolores de
cabeza ya que podremos tener cierto grado de control sobre el ingreso
de datos que otras personas realizan sobre nuestras hojas de Excel.
Los formularios en VBA no son ms que un cuadro de dilogo de Excel
donde podremos colocar controles que nos ayudarn a solicitar
informacin del usuario. Podremos colocar cajas de texto, etiquetas,
cuadros combinados, botones de comando, etc.
Crear un formulario en Excel

Los formularios de Excel son creados desde el Editor de Visual Basic


donde debemos seleccionar la opcin de men Insertar y posteriormente
la opcin UserForm.

Inmediatamente se mostrar un formulario en blanco y de igual manera


podrs observar el Cuadro de herramientas:

Si no ves el Cuadro de herramientas puedes seleccionar el men Ver y la


opcin Cuadro de herramientas.
Agregar controles al formulario

Para agregar un control al formulario debes seleccionarlo del Cuadro de


herramientas y dibujarlo sobre el formulario. En mi formulario he
agregado etiquetas y cuadros de texto as como un par de botones de
comando:

El texto de las etiquetas se modifica en la propiedad llamada Caption.


Para realizar este cambio solamente selecciona el control y se mostrar
la ventana de Propiedades donde podrs hacer la modificacin. De igual
manera el texto desplegado en los botones de comando se modifica en
su propiedad Caption.
Cdigo para el botn Cancelar

El botn cancelar cerrar el formulario sin guardar la informacin


capturada en ningn lugar. El cdigo que debemos utilizar es el siguiente:
Private Sub CommandButton2_Click()
Unload Me
End Sub

Para agregar este cdigo puedes hacer doble clic sobre el control. La
sentencia Unload Me cerrar elformulario.

Cdigo para el botn Aceptar

A diferencia del botn Cancelar, el botn Aceptar colocar los datos de


las cajas de texto en las celdas A1, B1 y C1. El cdigo utilizado es el
siguiente:
Private Sub CommandButton1_Click()
Worksheets("Hoja1").Range("A1").Value = Me.TextBox1.Value
Worksheets("Hoja1").Range("B1").Value = Me.TextBox2.Value
Worksheets("Hoja1").Range("C1").Value = Me.TextBox3.Value
End Sub

Al pulsar el botn Aceptar se transferirn los valores de los


controles TextBox hacia las celdas de la Hoja1.
Botn para abrir formulario

Para facilitar la apertura del formulario puedes colocar un botn ActiveX


en la hoja con el siguiente cdigo:
Private Sub CommandButton1_Click()
UserForm1.Show
End Sub

Probar el formulario

Observa cmo cada uno de los botones realiza la accin correcta al


pulsarlos:

You might also like