Está en la página 1de 19

Controles

ActiveX
Página 2

CONTROLES ACTIVEX
Los controles ActiveX corresponden a un tipo de
controles que nos permiten agregar funcionalidad de
formularios a nuestros libros de Excel. Existen otro tipo
de controles conocidos como controles de Formulario y
que tienen una funcionalidad parecida, sin embargo,
existen algunas diferencias entre ellos.

Los controles de Formulario han estado presentes en la


aplicación por más tiempo que los controles ActiveX. Los
controles de Formulario fueron introducidos desde la
versión 4 de Excel, mientras que los controles ActiveX
comenzaron a ser utilizados a partir de Excel 97. Ya que
los controles ActiveX fueron introducidos posteriormente
ofrecen más posibilidades de configuración y formato
que los controles de formulario. Ambos tipos de
controles se encuentran en la ficha Programador.
Página 3

La diferencia principal entre ambos es la manera en


cómo podemos obtener información de los controles al
momento de interactuar con el usuario. Los controles de
Formulario solamente responderán después de que el
usuario ha interactuado con ellos, como después de
haber pulsado el botón. Por el contrario, los controles
ActiveX responden de manera continua a las acciones del
usuario lo que nos permite realizar acciones como
cambiar el tipo de puntero del ratón que se muestra al
colocar el puntero del ratón sobre el botón.
Página 4

Propiedades de los controles ActiveX

Los controles ActiveX tienen una serie de propiedades


que podemos configurar pulsando el botón Propiedades
que se encuentra dentro del grupo Controles de la ficha
Programador.

Antes de poder observar las propiedades de un control


ActiveX se debe pulsar el botón Modo Diseño 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 características. A
continuación, un ejemplo de la ventana Propiedades para
un botón de comando ActiveX:
Página 5

Controles ActiveX con Subrutinas VBA

Otra diferencia que existe entre los controles de


Formulario y los controles ActiveX es que a los primeros
se les puede asignar una Macro y al hacer clic sobre el
control de Formulario se iniciará la ejecución de dicha
Macro.

Los controles ActiveX no tienen asignada una Macro


explícitamente, sino que podemos asignar código 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 más. Para asignar código a uno de los eventos de
un control ActiveX solamente debemos hacer clic
derecho sobre él y seleccionar la opción Ver código.
Página 6

Esta opción abrirá la pestaña del Editor de Visual Basic


con una subrutina para el evento Clic () donde podremos
escribir nuestro código.

En la lista desplegable de la derecha se puede observar


la lista de eventos disponibles para nuestro control
ActiveX y para los cuales podemos escribir código 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.
Página 7

Cuadro de Texto

El Cuadro de texto corresponde a un control ActiveX que


muestra un campo vacío donde el usuario puede
introducir cualquier texto.

Para insertar un Cuadro de texto en una hoja de Excel,


simplemente debe ir a la ficha Programador, hacer clic
en el botón Insertar y luego hacer clic sobre la opción
Cuadro de texto de la sección Controles ActiveX.

Posteriormente, el puntero del ratón se convertirá en una


cruz, esta nos permitirá dibujar el Cuadro de texto sobre
la hoja de Excel. Una vez dibujado, haciendo clic derecho
sobre él, podrá seleccionar la opción Propiedades.
Página 8

De igual manera se pueden ver las propiedades de


cualquier control seleccionándolo primero y pulsando el
botón Propiedades que se encuentra dentro del grupo
Controles de la ficha Programador.
Página 9

M o d i f i c a r v a l o r d e l C u a d r o d e te x to

S i d e s e a c o l o c a r u n t e x t o d e n tr o d e l C u a d r o d e te x to d es d e VB A
p u e d e u t i l i z a r l a s i g u i e n t e i n s tr u c c i ó n :

TextBox1.Text = "Texto de prueba"

E s t o h a r á q u e e l C u a d r o d e te x to s e v e a d e l a s i g u i e n te m a n er a :

L e e r v a l o r d e l c u a d r o d e t e x to

S i d e s e a l e e r e l v a l o r d e l C u a d r o d e te x to y c o l o c a r l o en u n a cel d a
p o d e m o s u t i l i z a r l a s i g u i e n t e i n s tr u c c i ó n :

R a n g e ( " A 1 " ) . V a l u e = T e x t B o x 1 .T e x t

E l v a l o r d e l a c e l d a s e r á e l m i s m o q u e e l d e l C u a d r o d e t ex t o .

E n e l c a s o d e q u e q u i e r a l i m p i a r e l C u a d r o d e te x to p ued e u t i l i za r l a
siguiente instrucción:

TextBox1.Text = ""
Página 10

Cuadro de lista

El Cuadro de lista corresponde a un control ActiveX que


nos permite desplegar una serie de opciones de las
cuales el usuario puede realizar una selección.

Para insertar un Cuadro de lista en una hoja de Excel


debemos ir a la ficha Programador y pulsar el botón
Insertar para seleccionar la opción Cuadro de lista
(control ActiveX).

Especificar los elementos del cuadro de lista

Una alternativa para indicar los elementos de un Cuadro


de lista es a través de la propiedad llamada ListFillRange.
Para ello debemos abrir las propiedades del control e
indicar el rango de celdas que contiene los elementos:
Página 11

En el siguiente ejemplo se especifica que los valores sean


tomados del rango A1:A7, lo que da como resultado un
Cuadro de lista con los valores especificados en dicho
rango:
Página 12

Asociar una celda al Cuadro de lista

Podemos asociar una celda al Cuadro de lista la cual


mostrará la selección que hagamos. Para hacer esta
asociación debemos especificar la dirección de la celda en
la propiedad LinkedCell:

Posteriormente se debe dar clic en la opción Modo Diseño


para terminar con la edición. De esta manera, cada vez
que hagamos una selección de alguna de las opciones del
Cuadro de lista se verá reflejado su valor en la celda
asociada:
Página 13

Cuadro combinado

El Cuadro combinado es un control ActiveX que nos


permite crear listas desplegables en nuestros formularios.
Para insertar un Cuadro combinado debemos ir a la ficha
Programador y dentro del botón Insertar pulsar el
comando Cuadro combinado (control ActiveX):

Al dibujar el Cuadro combinado sobre la hoja se observa


lo siguiente:
Página 14

Agregar elementos al Cuadro combinado

Al igual que en el Cuadro de lista, para que el Cuadro


combinado muestre los valores del rango A1:A7, se utiliza
la propiedad ListFillRange donde se indica este rango:

Como resultado se obtienen los valores de las celdas


como elementos del Cuadro combinado:
Página 15

Casilla de verificación

La Casilla de verificación es un control ActiveX que


permite que un usuario marque una opción y por lo tanto
poder conocer sus preferencias al verificar dicho valor en
código VBA.

Para insertar este control debemos ir al comando Insertar


y seleccionar la opción Casilla (Control ActiveX).

Después de dibujar este control se obtiene el siguiente


resultado:
Página 16

Propiedades de la Casilla de verificación

La primera propiedad que se debe modificar de una


casilla de verificación será su propiedad Caption que es la
que almacena el texto desplegado dentro del control
ActiveX. Por ejemplo, si deseo que el control muestre el
texto “Casado” se debe realizar el cambio de la siguiente
manera:

Valor de una Casilla de verificación

Una Casilla de verificación nos dirá si ha sido seleccionada


o no, es decir, nos devolverá un valor verdadero o falso.
Para leer este valor debemos acceder a la propiedad Value
del control de la siguiente manera:

Private Sub CheckBox1_Click()


Range("A1").Value = CheckBox1.Value
End Sub
Página 17

Esta línea de código coloca el valor de la casilla de


verificación en la celda A1. De esta manera, al seleccionar
la casilla de verificación se obtiene el siguiente resultado:

Para validar en VBA si la casilla de verificación tiene un


valor u otro podemos utilizar un código como el
siguiente:

If CheckBox1.Value = True Then Range("A1").Value = 1


If CheckBox1.Value = False Then Range("A1").Value = 0

La primera línea valida si el control ActiveX tiene un valor


verdadero y de ser así coloca el número 1 en la celda A1.
Si la casilla de verificación no ha sido seleccionada (falso)
entonces colocará el número cero:
Página 18

Botón de opción

El Botón de opción es un control ActiveX que nos


permitirá seleccionar una sola opción dentro de un grupo
de Botones de opción. A diferencia de las casillas de
verificación, los Botones de opción dependen uno del
otro.
Para insertar un botón de opción hacemos clic en el
comando Insertar de la ficha Programador.

No tiene sentido usar sólo un botón, así que siempre


agregamos dos o más botones de opción para permitir
que el usuario haga una selección de cualquiera de ellos.
Página 19

Una vez que se ha agregado un segundo botón de opción


podrás notar que al seleccionar uno de ellos se
desmarcarán todos los demás.

De manera predeterminada Excel colocará el Botón de


opción con el nombre “OptionButton”. Para cambiar este
texto debemos editar la propiedad Caption del botón de
opción.

También podría gustarte