ExcelVBA WorkSheet上の全てのCheckBoxをON・OFFする
ご教授いただければと思います。
環境はExcel2000とWindows2000です。
現在このようなシートがあります
-----WorkShet-----
↓全てのチェックボックスをONにするコマンドボタン
□
↓CheckBox1_1 ↓CheckBox2_1 ↓CheckBox3_1
□ □ □
↓CheckBox1_2 ↓CheckBox2_2 ↓CheckBox3_2
□ □ □
------------------
「全てのチェックボックスをONにするコマンドボタン」を押す事により、
全てのCheckBoxをOnにしたいのです。
現在はCheckBox1_2.Vlue = Trueのようにしています。
これからCheckBoxの数が増える予定なので、いちいちコードを増やす事のなくしたいのですが、どのようにしたらよいでしょうか?
よろしくお願いします。
回答(2件)
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示
No.2ベストアンサー10pt
Sub AllCheck()
For Each ch In ActiveSheet.CheckBoxes
ch.Value = xlOn
Next
End Sub
コマンドボタンのマクロに登録してみてください。
この回答へのお礼
ご回答ありがとうございます。
CheckBoxコレクションにアクセスするって事ですね。
参考にさせて頂きます。
No.1ベストアンサー20pt
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は範囲を指定しようかと思います。
- 最新から表示
- |
- 回答順に表示
- |
- ベストアンサーのみ表示











