100分紧急求助~~动态控件事件没有反应!也动态增加了事件Click()!!
紧急求助~~
我在VBA 添加了UserForm1 ,里面动态产生按钮控件,也动态增加了事件Click()
执行上都能正常产生控件,程序代码也有产生,可是鼠标点击画面按键时事件没有反应!!!
求高手能给小弟帮帮忙~~~感谢!!!
Dim Code As String
Dim NextLine As Long
Dim myButton1 As Control
Dim Y As Integer
For Y = 1 To 10
Set myButton1 = SoundForm.Controls.Add("Forms.CommandButton.1")
myButton1.Top = 2 + 25 * (Y - 1)
myButton1.Height = 20
myButton1.Width = 35
myButton1.Left = 155
myButton1.Caption = "Play"
myButton1.Name = "myCommandButton" & Trim(Str(Y))
'动态写入程序代码
Code = "Sub " & myButton1.Name & "_Click()" & vbCrLf
Code = Code & " MsgBox ""新增完成"" " & vbCrLf
Code = Code & "End Sub"
'传回Sheet内的程序代码
With ThisWorkbook.VBProject.VBComponents("UserForm1").CodeModule
NextLine = .CountOfLines + 1
'插入程序代码
.InsertLines NextLine, Code
End With
Set myButton1 = Nothing
Next
[解决办法]
做过类似的 ,不过只是把控件进行了隐藏,添加时修改可见属性,代码也是固定的,到可以实现....、
看你的代码将新添加的控件更加的动态了...
学习...
[解决办法]
学习
[解决办法]
楼主写出这样的代码也应该是大牛级别的了,
我很想帮你解决,但这种对VBA本身的操作,我试了几次都导致了Excel 2003死机,最后放弃了
我的建议就是不要使用动态的事件函数,改用固定的,写好的函数,
不知道楼主的需求是什么,我想像中应该把一个Button动态移动位置,加上显示隐藏,
应该就差不多可以满足吧,不需要动态增删Button这么复杂吧。
楼主退一步吧,或者把问题解决了和我们分享答案。
[解决办法]
调通LZ的代码,确实动态生成的按钮不能响应添加的事件(用代码写入的那个)。还在研究中。。。。
挺有意思的。估计就差那么一点点了。
[解决办法]
对VBA 不太懂··· 前两天C#开发vsto 想给word增加个自定义按钮 ,按钮只能响应一次,后来把 按钮设为全局变量就行了 ,希望是同样的问题,对你有帮助····