0
我遇到问题了:)Microsoft Visual Basic(复选框关系)
我现在在Microsoft Word 2013中工作。我做了四个复选框:“A”,“B” ,“C”和“D”。我的愿望是复选框之间有关系。所以如果我检查“A”,那么我想要“B”和“C”也被自动检查。如果我检查“B”,我希望“C”也被自动检查。当我检查“C”时,我希望只检查“C”。如果我检查“D”,那么只需要检查“D”。
我已经找到下一个代码:
Sub SelectAll_Click()
Dim CB As CheckBox
For Each CB In ActiveSheet.CheckBoxes
If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name Then
CB.Value = ActiveSheet.CheckBoxes("Check Box 1").Value
End If
Next CB
End Sub
Sub Mixed_State()
Dim CB As CheckBox
For Each CB In ActiveSheet.CheckBoxes
If CB.Name <> ActiveSheet.CheckBoxes("Check Box 1").Name And CB.Value <> ActiveSheet.CheckBoxes("Check Box 1").Value And ActiveSheet.CheckBoxes("Check Box 1").Value <> 2 Then
ActiveSheet.CheckBoxes("Check Box 1").Value = 2
Exit For
Else
ActiveSheet.CheckBoxes("Check Box 1").Value = CB.Value
End If
Next CB
End Sub
这在Excel中对我的作品,但不是在Word中(我得到一个错误)。但主要问题是,通过此代码选中所有复选框。这不完全是我想要的 。
我希望很清楚我在问什么,我希望你能帮助我。
谢谢!
亲切的问候。
如果A,B,C被选中并且A被取消选中,应该发生什么 - B和C是否也会被取消选中?或者其他组合(其中2个选中,2个未选中)和他们的状态改变方式? –
你很可能会遇到MS-Word的错误,因为Word没有工作表,因此没有声明“ActiveSheet”。关于你想要的行为,如果他们只有4个复选框,你可能甚至不需要一个For循环。 –
@paulbica 感谢您的回应。 例如: ___Scenario一个:_______ 1.您选择 “A”, “B” 和 “C” 2.您取消选择 “A” 3.这是可能 __Scenario 2:___________ 1.您选择“ A“,”B“和”C“ 2.您取消选择”B“ 3.然后”A“也自动取消选择 ___方案三:___________ 1.选择”A“,”B“和”C“ 2.您取消选择“C” 3.然后“A”和“B”也会自动取消选择。 ___________ – KM1234