【发布时间】:2020-11-13 12:24:51
【问题描述】:
enter image description here我有一个电子表格,每行有 3 个复选框选项,我创建了一个 VBA 以在创建复选框后禁用其他 2 个复选框(因此只能选中 1 个复选框),但我的解决方案仅限适用于一行,我需要一些帮助来重写它,以便它适用于所有行。 (我是 VBA 新手)。
我使用的代码是这样的:
Private Sub CheckBox1_Click()
If CheckBox1.Value = True Then
CheckBox2.Value = False
CheckBox2.Enabled = False
CheckBox3.Value = False
CheckBox3.Enabled = False
Else
CheckBox2.Value = False
CheckBox2.Enabled = True
CheckBox3.Value = False
CheckBox3.Enabled = True
End If
End Sub
Private Sub CheckBox2_Click()
If CheckBox2.Value = True Then
CheckBox1.Value = False
CheckBox1.Enabled = False
CheckBox3.Value = False
CheckBox3.Enabled = False
Else
CheckBox1.Value = False
CheckBox1.Enabled = True
CheckBox3.Value = False
CheckBox3.Enabled = True
End If
End Sub
Private Sub CheckBox3_Click()
If CheckBox3.Value = True Then
CheckBox1.Value = False
CheckBox1.Enabled = False
CheckBox2.Value = False
CheckBox2.Enabled = False
Else
CheckBox1.Value = False
CheckBox1.Enabled = True
CheckBox2.Value = False
CheckBox2.Enabled = True
End If
End Sub
【问题讨论】:
-
请编辑您的问题并放置一张图片,您的工作表保留复选框。当您说“每行 3 个复选框选项”时,您的意思是 Excel 行吗?如果是,是否还有其他没有此类复选框的行?它们是 Form 类型还是 ActiveX 类型?
-
非常感谢您的回复。它不会让我上传图像,因为我是新手,但复选框是使用 ActiveX 控件创建的。电子表格上有 3 列并排,每列都有一个复选框(因此一行 3 个复选框)提供不同的选项,我每行只需要选择其中的 1 个选项。
-
那么,请尝试我的代码解决方案。它也适用于 ActiveX 复选框。但是你必须在他们的
Click事件代码中添加一段代码,如图... -
我现在将添加一个能够为所有涉及的 ActiveX 复选框自动创建点击事件的子。您是否尝试测试建议的解决方案?它并不像第一眼看上去那么复杂......