我有下面的代碼,以動態創建按鈕:Excel的VBA的OnAction事件不工作,但不會出錯或者
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i, sInfo As String
For i = 2 To GetLastRow("Deliverables", "A")
sInfo = "CmdButton" & i
Me.Buttons(sInfo).Delete
ActiveSheet.Buttons.Add(Cells(i, "AA").Left + Cells(i, "AA").Width * 0.05, Cells(i, "AA").Top + Cells(i, "AA").Height * 0.05, Cells(i, "AA").Width * 0.9, Cells(i, "AA").Height * 0.9).Select
With Selection
.Caption = "Update Task: " & Cells(i, "B").Value
.Name = sInfo
.Text = "Update Task: " & Cells(i, "B").Value
Selection.OnAction = "CmdButton2_Click"
End With
Next
End Sub
這將運行沒有錯誤,但似乎我無法得到工作是Selection.OnAction事件。當我點擊按鈕什麼都沒有發生。我試圖讓OnAction事件來調用另一個我在我的VBA代碼中的子。我已經嘗試了一些在這裏和網上其他地方的例子,似乎無法讓他們工作。
任何人都知道我錯過了什麼?
哪裏'CmdButton2_Click'子?如果不在常規模塊中,那麼你需要在其前面加上目標模塊名稱 - 例如'Sheet1.CmdButton2_Click' –
'CmdButton2_Click'是什麼?確保它不是空白的。你的代碼對我來說很好。 –
@TimWilliams:如果行動無法找到'CmdButton2_Click',它會給出錯誤。就像歐普提到的,他沒有收到任何錯誤... –