我有一個包含復選框和標簽的用戶表單。
我的目標是在復選框為真或假時啟用或禁用特定標簽。
我有:
- 一個模塊,我在其中存盤我的函式和 subs
- 一個主模塊
- 用戶表單
我可以在用戶表單中寫:
Private Sub Checkbox1 ()
If Userform.Checbox1 = true then
Userform.label.enable = true
End if
但是我有一些復選框和標簽,我想創建一個子或函式來簡化我的代碼。
在我存盤函式的模塊中,我寫道:
Sub EnableMyLabels(Checkbox as object , Label as object)
If Userform.Checkbox = true then
Userform.label.enable = true
End If
在我的用戶表單中,我嘗試像這樣使用它:
Call EnableMyLabels (Checkbox1 , Label1)
uj5u.com熱心網友回復:
你的潛艇應該像
Sub EnableMyLabels(cb As MSForms.CheckBox, lbl As MSForms.Label)
If cb.Value = True Then
lbl.Enabled = True
End If
End Sub
和電話
EnableMyLabels Checkbox1, Label1
您可能想從復選框上的事件中呼叫它,例如
Private Sub CheckBox1_Change()
EnableMyLabels CheckBox1, Label1
End Sub
uj5u.com熱心網友回復:
您應該嘗試相同的原則,但使用事件。
在您的 VBE 上,在 Userform 模塊的頂部下拉選單中選擇“Checkbox1”。
然后在右上角的下拉選單中選擇方法“單擊”。
應該已經創建了一個名為 Checkbox1_Click 的方法。
只要用戶單擊復選框,該代碼就會運行。
在那里包括所有“標簽邏輯”(或其他控制元件的邏輯)。
uj5u.com熱心網友回復:
當您直接傳遞物件時(默認通過 byRef 傳遞),則代碼中不需要Userform該詞。只需洗掉它,您的代碼應該可以完美運行。
Sub EnableMyLabels(Checkbox as object , Label as object)
If Checkbox = true then
label.Enabled = true 'fyi - Enabled not Enable
End If
End if
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/431119.html
上一篇:如何將遞回轉換為回圈?
