Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

¿Cómo se usan? Y diferencias entre controles de formulario y controles ActiveX

| 12 comentarios

Controles de Formulario

Se utilizan para poder activar una macro de manera más sencilla, es decir, haciendo un "CLICK" en la macro definida.

Controles ActiveX

Se utilizan para poder programar la generación de la macro. Además se tienen mayores funciones que el Click:

Estos controles se encuentran en la parte de programador:

Grafico Formulario ActiveX

Ejemplo de Comparación entre estos dos conceptos:

  1. Controles de Formulario: Por ejemplo se ha construido una Macro para la generación de Multas. Para ello utilizaremos el Bloque ("TOOLBOX") para asignar dicha Macro, el nombre es Multas de tránsito y una vez demos Click al ToolBox aparecerá la siguiente imagen.

Imagen Control Formulario

(Para mayor visualización de la imagen, hacer click en la misma)

Es decir, siempre que utilicemos un Control de Formulario nos pedirá que asignemos una Macro para que funcione. Una vez presionemos el Botón "CONTROL DE TRÁNSITO" e iniciará dicha generación.

TOOLBOX Macro

(Para mayor visualización de la imagen, hacer click en la misma)

2. Controles Active X: Utilizaremos el segundo concepto afín de realizar una Comparación. Como podemos apreciar en la imagen líneas abajo se ha creado un TOOLBOX en Control Active X, ahora dicha Macro no funciona por si sola, si generamos Click sobre ella no aparecerá nada. Tenemos que ir a  en la Barra Programador para poder manipular dicha TOOLBOX:

Modo Diseño Control X

Cuando se realice dicho ToolBox generamos doble CLick y nos enviará a VBA para poder manipularlo, y asignamos la misma Macro a dicho TOOLBOX, tener en cuenta que correrá la macro cuando se realice un CLICK en dicho botón, como indica el título de dicho código.

VBA Control Active Codigo

Se presenta el diseño con los dos botones generados con las siguientes conclusiones:

  • Para solamente llamar a Macros utilizar los Controles de Formularios, para generar más trabajos con ello, utilizar los Active X.
  • Para tener el control del trabajo que se requiere realizar es más conveniente utilizar el Active X dado que brinda control no solamente cuando se ejecuta el Click como en el Formulario, sino que puede utilizar funciones como doble CLik, Arriba, abajo, según los requerimientos que se utilicen.

Se muestra el diseño Final:  Multas-de-Tránsito CONTROLES ACTIVE

Imagen Final

(Para mayor visualización de la imagen, hacer click en la misma)

12 comentarios

  1. Aleccionador conocer las diferencias entre ambos conceptos, realice algunos ejemplos, me parece más útil los controles con active x, ya con ellos puedes llamar a varias macros.
    Consulta.- Cuántas macros como máximo pueden crearse en Excel 2010?

    • Si bien no existe un límite de macros que se puedan crear se debe tomar en cuenta que si la macro a emplear es una base de datos extensa y se iran adicionando filas, columnas, etc existe un límite definido por Microsoft Excel, por ejemplo en el caso del límite de filas está definido de la siguiente manera:

      • Límite Excel 2003: 65.536 (2^16)
      • Límite Excel 2007: el 1.048.576 (2^20)

      Asimismo, dado que las macros incrementa la extensión de los archivos de excel, también dependerá de la capacidad de almacenamiento y procesamiento de la información, de la computadora a emplear.

      Por otro lado, cabe señalar que existen otros puntos a considerar, por ejemplo, en la versión Excel 2007 el límite de argumentos dentro de una UDF es de 255, en anteriores versiones es de 30 (si se requiere mantener compatibilidad se usa la opción ParamArray).

  2. Las diferencias que se pueden encontrar entre los controles Activex y los controles de formulario están en que el primero se efectúa a partir de eventos tales como “click”, “Dobleclick”, etc., por tanto, para poder tener acceso a su código, tan solo es necesarios hacer un dobleclick. Mientras que los controles de formulario se efectúan a través de macros, por tanto, se puede tener acceso a su código solo al abrir la opción ver macros. Además, el código de los controles activex están dentro de un private sub/ - end sub, mientras que el código de los controles de formularios están dentro de sub – end sub.

  3. A mi parecer es más efectivo usar los controles Active X, porque se controlan rápidamente desde Vba. No sólo son para llamar a las macros.

  4. Bueno el tema es interesante, aunque el articulo no se logra entender muy bien. Creo que se esta confundiendo el toolbox con el actionbutton. El toolbox es el conjunto de herramientas que contiene el desplegable de insertar y el actionbutton es una de las herramientas que se encuentra en el toolbox, por lo que el botón no puede ser llamado toolbox. Al final también se debe hacer una corrección en la parte de conclusiones en donde la primera viñeta debe hacer referencia a los controles de formularios y no al activex

  5. Muy buena aclaración, gracias

  6. Microsoft tiene dos tipos de controles, los controles Activex que funcionan atraves del lenguaje Visual Basic, te permite activar una macro mediante un click, el otro tipo son los controles de la barra de herramientas formularios que nos permite otorgar propiedades a las celdas del libro excel.

  7. En mi opinión los controles activex brindan mayor control para poder realizar la programación de una manera más estructurada, pues la programación se realiza según la ubicación en la que se encuentre el control.

  8. muy buena explicación sobre la diferencia mientras que unos se asigna a una macro otro se le asigna programación para su ejecución =)

  9. pienso que el control ActiveX es más manipulable que los controles de formulario.

  10. En mi opinión, pienso que los botones de formulario ayuda a las personas principiantes porque es más básico. En cambio el botón de Activex es un poco más complejo en el sentido que para ejecutar la macro se tiene que ir a programar en el VBA.

    Además, el botón Activex no funciona correctamente si se tiene activado el "MODO DISEÑO" que se encuentra en la misma ficha "Programador" en Excel, pues al hacerle clic no se va a ejecutar, antes de hacerlo se tiene que quitar ese modo y que la macro escrita en VBA sea la correcta.

  11. Inexplicablemente, y creo que es una falta grave a la Ética, por parte de Microsoft, no haber informado que Control Activex no funciona en la Web.
    Si traslada sus programas que contienen Control Activex, a alguna nube, hasta ahí no mas llego. Adiós trabajo. Eso es equivalente a una estafa por parte de Microsoft y compañia.

Deja una respuesta

Los campos requeridos estan marcados con *.