簡體   English   中英

編寫適用於VBA中多個復選框的代碼

[英]Writing code that applies to multiple check boxes in VBA

我正在嘗試為具有約100個復選框的VBA用戶窗體編寫一些代碼。 我想知道是否有一種方法可以將一段代碼應用於任何復選框,或者是否必須為checkbox1_click,checkbox2_click,checkbox3_click等編寫100個單獨的函數。

感謝您的任何幫助:)

編輯:我意識到這將有助於解釋我到底想做什么。 將有100個復選框,每當單擊一個復選框時,我都想這樣做:

呼叫CheckBoxClicked(“ checkboxname”)

將其放在名為clsCheckBoxHandler的類模塊中

Public WithEvents chk As MSForms.CheckBox

Private Sub chk_Click()
    MsgBox chk.Caption & " Clicked!"
End Sub

然后在用戶表單中

Dim chkCollection As Collection


Private Sub UserForm_Initialize()
Dim cCont As Control
Dim chkH As clsCheckBoxHandler

    Set chkCollection = New Collection

    For Each cCont In Me.Controls

        If TypeName(cCont) = "CheckBox" Then

            Set chkH = New clsCheckBoxHandler
            Set chkH.chk = cCont
            chkCollection.Add chkH

        End If

    Next cCont

End Sub

這只是具有click事件的復選框的簡單處理程序,但可以擴展為涵蓋多個控件和事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM