Excel - eventos en tiempode ejecucion en excel macros

 
Vista:

eventos en tiempode ejecucion en excel macros

Publicado por Marcelo (3 intervenciones) el 09/11/2011 02:18:34
quisiera saber si alguien me puede ayudar a dar eventos a los objetos creados en tiempo de ejecucion
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

eventos en tiempode ejecucion en excel macros

Publicado por JuanC (1237 intervenciones) el 09/11/2011 12:07:47
como no especificaste bien lo que querés hacer, hice lo que me pareció...
en el ejemplo (básico) crea un botón en el formulario y captura el evento OnClick

'//Código para el UserForm
Dim btn As MSForms.CommandButton
Dim c As clsBtn
Private Sub UserForm_Initialize()
Set c = New clsBtn
Set btn = Me.Controls.Add("Forms.CommandButton.1", "btn", True)
btn.Caption = "hello!"
c.Add btn
c.OnClick = "btn_OnClick"
End Sub

'//Código para el módulo (estándar)
Public Sub btn_OnClick()
MsgBox "hello!"
End Sub

'//Código para el módulo de clase (clsBtn)
Private WithEvents m_btn As MSForms.CommandButton
Private m_sFncClic As String
Public Event Click()
Public Sub Add(b As MSForms.CommandButton)
Set m_btn = b
End Sub
Public Property Let OnClick(ByVal sFncName As String)
On Error Resume Next
m_sFncClic = sFncName
End Property
Private Sub m_btn_Click()
On Error Resume Next
Call Run(m_sFncClic)
End Sub

también el código asignado al botón puede ser creado dinámicamente, pero se complica
y no suele ser muy práctico...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar