情况 我有两个表单控件复选框。我正在尝试编写一个代码,只允许其中一个为真。
我的代码是
Sub CheckBox2_Click()
If CheckBox1.Enabled = True Then
CheckBox2.Enabled = False
Else
If CheckBox2.Enabled = True Then
CheckBox1.Enabled = False
End If
End If
End Sub
我在模块中有此代码,并为两个复选框分配了相同的宏。我收到运行时错误 424。我相信这是非常基本的问题,但我无法解决它。 谢谢
最佳答案
请按照以下方式进行测试。表单复选框不像 ActiveX 复选框那样具有单击事件
。您应该将下一个子与它们两者关联。我测试的复选框的名称为“复选框 1”和“复选框 2”。您必须根据您的情况进行更改,请复制标准模块中的下一个代码,然后将其关联到两个使用的复选框:
Option Explicit
Sub FormCheckBoxChange()
If ActiveSheet.CheckBoxes(Application.Caller).value = 1 Then
Select Case Application.Caller
Case "Check Box 1": ActiveSheet.CheckBoxes("Check Box 2").value = -4146
Case "Check Box 2": ActiveSheet.CheckBoxes("Check Box 1").value = -4146
End Select
End If
End Sub
使用适合您情况的名称,而不是使用的复选框名称。
对于表单文本框,它们的值不像 ActiveX 文本框那样为 True
和 False
。它是 1
和 -4146
...
关于excel - 任一复选框只能为 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71467648/