我試過@DaveShaw code,對於複選框的運行時事件,點擊不是複選框的有效方法?它從未進入方法checkBoxEvent_click
在運行時爲excel中的userform中的複選框添加事件
Dim CheckBoxArray() As New ClassEvents
for i=0 to 10
Set cTemp = MOM.Frame_MOM_MOM.Controls.Add("Forms.CheckBox.1")
With cTemp
.Top = HeaderOffset + RowOffset + i * 25 'your top pos
.Visible = True
.Left = 30 'your left pos
.Width = widthOfLabel 'your width
.Name = Replace(keyArrays(i, 1), " ", "_")
.Caption = keyArrays(i, 1) 'your caption ,
End With
ReDim Preserve CheckBoxArray(0 To i)
Set CheckBoxArray(i).checkBoxEvent = cTemp
next i
和我ClassEvents類看起來是這樣的:
Public WithEvents checkBoxEvent As MSForms.checkBox
Private Sub checkBoxEvent_click()
MsgBox "halla" 'checkBox.Caption
End Sub
正確:https://msdn.microsoft.com/en-us/library/microsoft.office.tools.excel.controls.checkbox.aspx?f=255&MSPPError=-2147217396 – Tim
@Tim,在VBA中它是IS – user3598756
從理論上講,您的代碼將工作......你可以在你的模塊的頂部放置'Option Explicit',並且如果你有它們,則刪除任何'On Error Resume Next'行。 – Ambie