新しく質問する

ExcelVBA WorkSheet上の全てのCheckBoxをON・OFFする

役に立った:0件
  • 質問者:ORCA_H
  • 投稿日時:2002/10/01 13:13
  • 困り度:すぐに回答が欲しいです
  • 友達に紹介
  • ブログに書く
  • 教えて!gooお気に入り

ご教授いただければと思います。
環境はExcel2000とWindows2000です。

現在このようなシートがあります
-----WorkShet-----

 ↓全てのチェックボックスをONにするコマンドボタン
 □

 ↓CheckBox1_1 ↓CheckBox2_1 ↓CheckBox3_1
 □ □ □

 ↓CheckBox1_2 ↓CheckBox2_2 ↓CheckBox3_2
 □ □ □

------------------

「全てのチェックボックスをONにするコマンドボタン」を押す事により、
全てのCheckBoxをOnにしたいのです。

現在はCheckBox1_2.Vlue = Trueのようにしています。

これからCheckBoxの数が増える予定なので、いちいちコードを増やす事のなくしたいのですが、どのようにしたらよいでしょうか?

よろしくお願いします。

この質問への回答は締め切られました。
このQ&Aは役に立ちましたか?(役に立った:0件)
  • 参考になった:0件

No.2ベストアンサー10pt

  • 回答者:taisuke555
  • 回答日時:2002/10/01 14:09

Sub AllCheck()
For Each ch In ActiveSheet.CheckBoxes
ch.Value = xlOn
Next
End Sub

コマンドボタンのマクロに登録してみてください。

通報する

この回答へのお礼

ご回答ありがとうございます。

CheckBoxコレクションにアクセスするって事ですね。
参考にさせて頂きます。

  • 参考になった:0件

No.1ベストアンサー20pt

  • 回答者:miya_777
  • 回答日時:2002/10/01 13:38

OLEObjectsコレクションを使えば解決できます。

worksheetオブジェクトで指定すれば、そのシート上のOLEオブジェクトが参照できます。

シート名「sheet1」にチェックボックスしかないのでしたら、

For i=1 to sheets("sheet1").OLEObjects.Count
sheets("sheet1").OLEObjects(i).Object.Value = True
Next

とすればOKです。

通報する

この回答へのお礼

miya_777さん ありがとうございます。

シートにはチェックボックス以外もありますので、
ご回答を参考にOLEObjectを利用して、やってみたいと思います。
ObjectはCheckBoxを指定して.countは範囲を指定しようかと思います。

  
このQ&Aは役に立ちましたか?(役に立った:0件)

このページのトップへ

Facebook公式ページ

公式Twitter