こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

EXCELでチェックボックスの一括オンオフ

EXCEL2000を使用してます。
アンケート作成をしており、設問毎にチェックボックスで複数選択できるようにしていますが、1つの設問にチェックボックスが8~10等多くあるため、設問毎にチェックボックスの一括オンオフができるようにしたいのです。

今は、次の記述で、ある設問のみ全てのチェックボックスにレが入りますが、はずす事ができません。
Sub チェック11_Click()
ActiveSheet.CheckBoxes(Array(1, 2, 3)).Value = True
End Sub

どうすれば、チェック11のボックスで、オンオフができるのでしょうか?
どうか教えて頂きますよう、よろしくお願い致します。

投稿日時 - 2012-12-03 23:15:24

QNo.7828580

すぐに回答ほしいです

質問者が選んだベストアンサー

あなたのシートで、activesheet.checkboxes(1)やらactivesheet.checkboxes(2)やらactivesheet.checkboxes(3)やらが、具体的にどのチェックボックスの事になっているのか、キチンと正しくあなたご自身がまず把握してから、作業をしてください。


まず練習として、まっさらのシートにフォームのチェックボックスを3個配置します
最初のチェックボックスにマクロの登録を行い、

Sub チェック1_Click()
activesheet.checkboxes(array(2,3)).value = activesheet.checkboxes(1).value
end sub

と登録します。

投稿日時 - 2012-12-04 23:25:47

お礼

ご回答頂き、誠にありがとうございます。
言葉足らずで、申しの訳ありませんでした。
フォームコントロールチェックボックスです。
お陰様で、無事にアンケートフォームを作成することができました。
次回より、回答者側の立場も考えて、質問したいと思います。
初心者で、どのように質問するべきか、わかりませんでした。
また、次回もどうぞよろしくお願い致します。
本当にありがとうございました。

投稿日時 - 2012-12-09 22:20:07

ANo.2

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(3)

ANo.3

>No.1 この回答への補足
なるほど、そういうことでしたか。
No.2 keithinさんの回答を拝見して気がつきました。
keithinさんのコードが質問内容を正確に反映されていると思います。
勉強になりました。

投稿日時 - 2012-12-04 23:50:15

お礼

ご回答頂き、誠にありがとうございます。
言葉足らずで、申しの訳ありませんでした。
フォームコントロールチェックボックスです。
お陰様で、無事にアンケートフォームを作成することができました。
次回より、回答者側の立場も考えて、質問したいと思います。
初心者で、どのように質問するべきか、わかりませんでした。
また、次回もどうぞよろしくお願い致します。
本当にありがとうございました。

投稿日時 - 2012-12-09 22:18:43

ANo.1

フォームコントロールなら
ValueプロパティをFalseにすればいけると思います。
ActiveSheet.CheckBoxes(Array(1, 2, 3)).Value = False

シート上の全てのチェックボックスを対象にするなら
ActiveSheet.CheckBoxes.Value = False

アクティブXコントロールの場合は一括ではできないようです。
総当たりすることになります。
    Dim myObj As OLEObject
    For Each myObj In ActiveSheet.OLEObjects
        If myObj.progID = "Forms.CheckBox.1" Then
            myObj.Object.Value = False
        End If
    Next

投稿日時 - 2012-12-04 06:29:43

補足

xls88さん、早速にご回答頂き、どうもありがとうございます。
VBAについて、初心者なので再度お伺いします。
記述は、次のようになるのでしょうか?

Sub チェック1_Click()
ActiveSheet.CheckBoxes(Array(2, 3)).Value = True
ActiveSheet.CheckBoxes(Array(2, 3)).Value = False
End Sub

これだと、うまくいきません。
チェックボックス1をクリックするたびに、レ点が指定したチェックボックス全てにオンオフになるように記述するにはどうすればいいでしょうか?
どうぞ、ご回答の程、よろしくお願い致します。

投稿日時 - 2012-12-04 22:50:37

お礼

xls88さん
何度もご回答頂き、誠にありがとうございます。
ありがとうポイント10ポイントを付与させていただこうと思いましたが、今はこのポイントはないのでしょうか。。
解りやすくご回答頂きましたのに、何もお礼ができず、申し訳ありません。
また次回、どうぞよろしくお願い致します!!

投稿日時 - 2012-12-09 22:30:07

あなたにオススメの質問