Me gustaría agregar un control y un evento asociado en tiempo de ejecución en Excel usando VBA, pero no sé cómo agregar los eventos.Cómo agregar eventos a los controles creados en tiempo de ejecución en Excel con VBA
Probé el código siguiente y el botón se creó correctamente en mi forma de usuario, pero el evento de clic asociado que debería mostrar el mensaje de saludo no funciona.
Cualquier consejo/corrección sería bienvenido.
Dim Butn As CommandButton
Set Butn = UserForm1.Controls.Add("Forms.CommandButton.1")
With Butn
.Name = "CommandButton1"
.Caption = "Click me to get the Hello Message"
.Width = 100
.Top = 10
End With
With ThisWorkbook.VBProject.VBComponents("UserForm1.CommandButton1").CodeModule
Line = .CountOfLines
.InsertLines Line + 1, "Sub CommandButton1_Click()"
.InsertLines Line + 2, "MsgBox ""Hello!"""
.InsertLines Line + 3, "End Sub"
End With
UserForm1.Show
Ver [esta respuesta] (http: // stackoverflow .com/a/1923457/98422) para una introducción rápida al uso de eventos en tiempo de ejecución en VBA. –
pregunta bellamente redactada. Gracias, tenía exactamente la misma duda – BrainO2