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