2
我正在創建一個excel VBA用戶窗體,它需要許多按鈕才能在運行中(即按需要運行時)創建。我想給這些按鈕分配一個子程序,以便當它們被點擊時子程序應該執行。EXCEL VBA:使用正在創建的按鈕的onclick屬性調用事件
這就是我想要做的
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()函數,然後我的代碼正在運行,但沒有成功,因爲它正在執行abcd函數,而不需要按下按鈕。
任何人都可以幫助我嗎?我在各種論壇上都在互聯網上搜索了很多。
試試'obj4.onclick =「abcd」'。這裏還有一些建議:http://stackoverflow.com/q/566770/18771 – Tomalak 2013-03-13 08:20:54
http://stackoverflow.com/questions/10224511/assign-code-to-a-button-created-dynamically-using-vba - 酮的excel – dee 2013-03-13 09:46:47