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