• 締切済み

Excelのチェックボックスのリンク

Excel2003と2010両方使ってます。 チェックボックスを使って一工夫したいのですが 1つのチェックボックスにチェックを入れると、それに付随するチェックボックスにも自動的にチェックが入るようにはできないのでしょうか? 例えば E23あたりのセルに作った「不要」というチェックボックスにチェックを入れると F25あたりのセルに作った「不要」というチェックボックスにも自動的にチェックが入るようにしたいのですが そんなことできますか?

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

エクセル VBAのイベントということを質問者はまだ勉強してないでしょうから無理です。ウインドウズのソフトなどでは似た仕組み・場面に出くわすでしょうが、初心者には無理です。 (1)チェックボックスなどをコントロールといいますが、(1)シート上に貼り付けるもの(2)ユーザーフォーム上に貼り付けるものの区別も付いてない(のでどちらか明言していない)。 (2)E23あたりのセルに作った・・といってますが、セルの位置とチェックボックスの別とは関連づけられるものではないことを 判ってないこと。セルの属性ではない。(LinkedCellやListFillRangeなどのしくみがあるが) などからまだ、相当勉強してからの先の課題でしょう。 こういうものの関連では (1)1つのチェックボックスに連動して、他のチェックボックスをTrue、Falseにする(本質問に類似) (2)1つのチェックボックスに連動して、他のチェックボックスにチェックを入れられないようにする などの課題があります。 (3)オプションボタンではグループ化というのもあります ですがコントロールの勉強は、VBAの大きな一分野で、それなりに勉強しないといけません。 ーー ちなみに シートにチェックボックスを4つ貼り付けて Sheet1の「コードの表示」で出る画面に Private Sub CheckBox1_Change() CheckBox3.Value = Not CheckBox3.Value CheckBox4.Value = Not CheckBox4.Value CheckBox5.Value = Not CheckBox5.Value End Sub を入れると、チェックボックス1にあわせて3,4,5がTrue、Falseで連動します。 ただし、当初は1,3,4,5は同じ状態からスタートします。

mate_2010
質問者

補足

>)E23あたりのセルに作った・・といってますが、セルの位置とチェックボックスの別とは関連づけられるものではないことを 判ってないこと。セルの属性ではない。 セルの位置とチェックボックスの場所がリンクしていなことくらいは、わかっています。 意味が伝わりやすいように書かせていただきました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.2

Excelでは「コントロールツールボックス(ActiveXコントロール)」と「フォーム」の2種類のチェックボックスやコマンドボタン等があります。どちらか「これを使いたい」が決まっているなら,ご相談投稿時には事前にその旨記載するように注意してください。 簡単なフォームのチェックボックスを使って 1.チェックボックスを1つ配置する 2.右クリックしてコントロールの書式設定で「リンクするセル」をどこかてきとーなセルを選ぶ 3.別のチェックボックスも,同じセルをリンクするセルに設定する 4.必要に応じてリンクするセルについて書式設定の表示形式のユーザー定義で   ;;;   と設定して置くなどして,表示を消しておく コントロールツールボックスのチェックボックスでも,プロパティダイアログを出してLinkedcellを設定することで同じように設定できます。

mate_2010
質問者

補足

>Excelでは「コントロールツールボックス(ActiveXコントロール)」と「フォーム」の2種類のチェックボックスやコマンドボタン等があります。どちらか「これを使いたい」が決まっているなら,ご相談投稿時には事前にその旨記載するように注意してください。 違いはなく、同じものだと思っていました。 フォームのチェックボックスのことです。 Excel2003にも 「コントロールツールボックス(ActiveXコントロール)」はあるんですか?

  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

こんなんどうですか。 Private Sub CheckBox1_Change() If CheckBox1 = True Then CheckBox2 = True ElseIf CheckBox1 = False Then CheckBox2 = False End If End Sub

mate_2010
質問者

補足

回答ありがとうございます。 質問なんですが、 チェックボックス内の番号を上書きして、すでに違う単語を入れてる場合 If CheckBox1 とかの数字はどうやったらわかりますか?