Cómo crear Controles ActiveX en tiempo de ejecución
























Si bien es cierto el entorno VBA ya proporciona todos los controles ActiveX, solo para insertarlos en un UserForm y únicamente dedicarnos a realizarle la automatización requerida…. Sin embargo, también tenemos la posibilidad de crearlos en tiempo de ejecución... Sí, esto llevaría mayor trabajo, pero en ciertas circunstancias podríamos necesitar hacerlo de esa manera.

Ok, veamos cómo hacerlo...


Para este ejemplo únicamente insertaremos un UserForm en el entorno VBA...

















Y procedemos a insertar el siguiente código de programación en su evento Initialize 

Dim btn1 As MSForms.CommandButton
Dim btn2 As MSForms.CommandButton
Dim TextBox1 As MSForms.TextBox

    Set btn1 = Me.Controls.Add("Forms.CommandButton.1", "btn1")
    btn1.Caption = "Boton 1"
    btn1.Top = 15
    btn1.Left = 75

    
    Set btn2 = Me.Controls.Add("Forms.CommandButton.1", "btn2")
    btn2.Caption = "Botón 2"
    btn2.Top = 50
    btn2.Left = 75

    
    Set TextBox1 = Me.Controls.Add("Forms.TextBox.1", "TextBox1")
    TextBox1.Top = 100
    TextBox1.Left = 75
    
   
Ahora... para hacer funcionales estos controles, debemos crear un módulo de clase en donde definiremos cada uno de los eventos de dichos controles.

Te invito a que veas el vídeo completo, en donde te explico a detalle los pasos que debes seguir.

Ver vídeo AQUÍ