0
問題があります。Microsoft Visual Basic(チェックボックスの関係)
私は今Microsoft Word 2013で作業しています。私は4つのチェックボックスを作った: "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がオフになっべきこと - にも未確認となってCをBする必要がありますか?または他の組み合わせ(2つはチェック済み、2つはチェックされていません)と状態はどちらかに変わりますか? –
Wordにシートがないため、MS-Wordでエラーが発生する可能性が最も高いため、 'ActiveSheet'は宣言されていません。あなたが望む動作に関して、もしそれらがちょうど4つのチェックボックスであれば、おそらくForループは必要ないでしょう。 –
@paulbica お返事ありがとうございます。たとえば : ___Scenario 1:_______ あなたは "" それは __Scenario可能です。3.選択解除 2. "A"、 "B" と "C" を選択1. 2:___________ 1.あなたが選びます " A "、" B "、" C "を選択します。 2." B "を選択解除します 3." A "も自動的に選択解除されます ___シナリオ3:___________ 1." 2. "C" を選択解除します。3. "A"と "B"も自動的に選択解除されます。 ___________ – KM1234