我的表格工具栏中有50多个复选框的电子表格。在少数情况下,您只能从一个组中选中一个复选框,即选中复选框1到复选框5中的一个复选框。
如果可能,我试图在没有任何代码的情况下实现此目的。选项按钮不是首选,因为我想要一个统一的电子表格。
如何将checkbox1分组到checkbox5,以便它们成为组的互斥。
谢谢
答案 0 :(得分:1)
您可能希望使用单选按钮,组之间可能有分隔符,因为这也表示最终用户这些字段是互斥的。
根据定义,单选按钮在组内是互斥的。
请记住,在您应该使用收音机的地方使用复选框会让您的最终用户感到困惑,因为他们想知道为什么该复选框突然被取消激活,而使用单选按钮时,混淆因素是不存在的。< / p>
答案 1 :(得分:0)
如果您无法使用选项按钮,请尝试使用此代码
Private Sub CheckBox1_Change()
With Me.CheckBox1
If .Value Then ClearGroup .GroupName, .Name
End With
End Sub
Private Sub CheckBox2_Change()
With Me.CheckBox2
If .Value Then ClearGroup .GroupName, .Name
End With
End Sub
Private Sub CheckBox3_Change()
With Me.CheckBox3
If .Value Then ClearGroup .GroupName, .Name
End With
End Sub
Private Sub ClearGroup(sGroup As String, sName As String)
Dim ole As OLEObject
For Each ole In Me.OLEObjects
If TypeName(ole.Object) = "CheckBox" Then
If ole.Object.GroupName = sGroup And ole.Name <> sName Then
ole.Object.Value = False
End If
End If
Next ole
End Sub
答案 2 :(得分:0)
为什么您认为选项(收音机)按钮是互斥的?我在一组中有两个。当我点击其中一个时,另一个打开。并且没有办法取消选择它们。它们最初按预期工作,但是当我使用另外两个选项按钮的不同链接框创建第二组无关控件时,奇怪的行为开始了。到目前为止,我能做的最好的是每个组合控件和NO组的单独单选按钮。