EXCEL VBA:使用正在创build的button的onclick属性调用事件

我正在创build一个excel的VBA用户表单,它需要在运行中创build多个button(即按照需求运行)。 我想给这些button分配一个子程序,以便当它们被点击时子程序应该执行。

这是我想要做的

Set obj4 = usrform.Controls.Add("forms.commandbutton.1") obj4.Height = 17 obj4.Left = 450 obj4.Top = 75 obj4.Font.Size = 11 obj4.Name = "compare" & (j - i) 'j and i are some variables in the code obj4.Caption = "Compare!" obj4.onclick = abcd public sub abcd() 'some code here end sub 

但是这个代码没有运行。 我读了一个地方,在这里我不能调用一个子程序,而是一个函数。 我的问题是,我只想要一个子程序,因为我不打算从中得到回报。 但仍然为了试用的目的,我做了abcd()在上面的代码中的函数,然后我的代码运行,但没有成功,因为它正在执行functionabcd而不需要button被按下。

谁能帮我这个? 在各种论坛上,我在互联网上search了很多。

不要挂在子程序v。函数上:如果你不设置函数的返回值,它和子程序是一样的。

当你设置onClick属性时,你把它的名字作为stringobj4.onclick = "abcd"否则它会执行函数并保存返回值。