[英]How to enable/disable CommandButtons by using checkboxes in VBA Excel
目的是如果手動激活命令按鈕“檢查 1”旁邊的復選框,則應該停用命令按鈕“檢查 1”。 這意味着如果整個按鈕“全部執行”被按下,那么除了“檢查 1”按鈕之外,下面的所有其他按鈕都將被一一觸發。 我已經為“檢查 1”按鈕和復選框 1 編寫了子程序。我只是不知道如何將復選框的子程序集成到“檢查 1”子程序中。 目前,如果我按下整體按鈕“全部執行”,那么無論是否標記復選框,都會執行按鈕“檢查 1”。
這是“檢查 1”按鈕的宏
Sub Examine_Click()
....
...
這是復選框的 Sub ,它指的是 Sub "Examine_Click()"
Private Sub CheckBox1_Click()
Dim b As Button
Set b = ActiveSheet.Buttons("Button 4")
If CheckBox1.Value = True Then
b.Enabled = True
b.Font.ColorIndex = 1
Else: b.Enabled = False
b.Font.ColorIndex = 15
End If
End Sub
在您的復選框代碼中,您永遠不會啟用按鈕: If CheckBox1.Value = True Then: b.Enabled = False
| Else: b.Enabled = False
。 但這不是問題。
您聲明 ExecuteAll 按鈕應該調用與其他按鈕關聯的 Subs,但我不確定b.Enabled
屬性是否會阻止 Sub 調用運行,它只會禁用用戶的單擊。 在ExecuteAll_Click()
您應該在執行相關按鈕的代碼之前測試相關的復選框。
解決辦法是:
If Worksheets("Control").CheckBox1.Value = True Then
這意味着如果復選框被激活,主宏開始運行,否則它會直接跳轉到“end sub”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.