プロが教える店舗&オフィスのセキュリティ対策術

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

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

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

 ↓CheckBox1_1 ↓CheckBox2_1 ↓CheckBox3_1
 □ □ □

 ↓CheckBox1_2 ↓CheckBox2_2 ↓CheckBox3_2
 □ □ □

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

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

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

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

よろしくお願いします。

A 回答 (2件)

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



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

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

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

とすればOKです。
    • good
    • 1
この回答へのお礼

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

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

お礼日時:2002/10/02 14:58

Sub AllCheck()


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

コマンドボタンのマクロに登録してみてください。
    • good
    • 0
この回答へのお礼

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

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

お礼日時:2002/10/02 16:38

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!