Controles ActiveX en Excel

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 versión 4 de Excel y por lo tanto han estado presentes en la aplicación por más 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 más posibilidades de configuración y formato que los controles de formulario.  Ambos tipos de controles se encuentran en la ficha Programador.

Controles ActiveX en Excel 2010

La diferencia más significativa entre ambos es la manera en como 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 cual nos permite realizar acciones como cambiar el tipo de puntero del mouse que se muestra al colocar el puntero del ratón sobre el botón.

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 botón Propiedades que se encuentra dentro del grupo Controles de la ficha Programador.

Propiedades de un control ActiveX en Excel

Antes de poder ver las propiedades de un control ActiveX debemos 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:

Propiedades de un botón ActiveX en Excel

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 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.

Ver código de un control ActiveX en Excel

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

Subrutina VBA para el evento Click de un control ActiveX

En la lista desplegable de la derecha podemos 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.

Otra ventaja de los controles ActiveX en Excel

En la versión de Excel 2010 algunos controles de formulario han dejado de ser soportados y no podemos utilizarlos más 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 opción de utilizar controles ActiveX en Excel en lugar de controles de formulario.

Artículos relacionados
Controles de formulario en Excel
Formularios en Excel