0
我動態定義了複選框,它們在運行時添加到用戶窗體中。複選框事件在VBA中不起作用
Sub Userform_Initialize()
For i = 1 To 4
Set Chk = Frame4.Controls.Add("Forms.Checkbox.1", "Checkbox" & i)
With Chk
.top = 84 + k
.left = 336
.Width = 100
.Height = 18
.Caption = "Add item"
.Visible = True
End With
k = k + 24
Next i
End Sub
Public WithEvents Chk As MSForms.CheckBox
Private Sub Chk_Click()
MsgBox Chk
End Sub
由於某種原因,該事件不響應。有沒有人有一個想法,爲什麼?我需要複選框的布爾值。這意味着當用戶點擊動態複選框時,我會在msgbox中看到「True」。
你需要創建一個類來處理事件 - 檢查這些鏈接:http://stackoverflow.com/questions/3014421/how-to-add-events-to-controls-created-at-runtime-in-excel- with-vba(使用類事件,不添加額外的代碼!)。 –
@ DarrenBartrup-Cook感謝您的回覆。我有它投票:)我會盡快分享我的解決方案代碼。 – yuro