簡體   English   中英

如何使用 VBA Excel 中的復選框啟用/禁用命令按鈕

[英]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.

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