プロが教えるわが家の防犯対策術!

sheet1にフォームコントロールに有るチェック(□の中にレ)でチェックを付けるように作ってます。再度クリックしたらチェックを消せますが、これをマクロで消すようにするにはどのように記述したら良いでしょうか。よろしくお願いします。

A 回答 (2件)

以下の方式で可能かと思います。


チェックボックスの名前がCheckBox1の場合であった場合


Sheet1.CheckBox1.Value = False → 結果:チェックが外れます
Sheet1.CheckBox1.Value = True  → 結果:チェックが付与されます


ご参考になれば幸いです。

この回答への補足

ありがとうございます、具体的に書きますので再度ご教示ください。
ブック名は 活動 です。シート名は 活動記録 です。
活動記録 のトートにいろいろな名前で沢山作っています。
チェックボックスの名前とは沢山作っている各々の名前でしょうか。
よろしくお願いします。

補足日時:2008/02/05 20:31
    • good
    • 0

>チェックボックスの名前とは沢山作っている各々の名前でしょうか。


当然です。
1ユーザーフォーム上に多数のチェックボックスががあっても、1つずつ、値をFALSEに設定して回らないとなりません。オブジェクトは違いますがCells.Clear
のような調子には行きません。VBAにはコントロール配列がありません。ですから配列の要素番号をFor Next で繰りまわすようなコードは書けません。
ただし便法で(擬似コントロール配列)
Private Sub UserForm_Click()
For i = 1 To 4
Controls("Checkbox" & i).Value = True
Next
End Sub
当然チェックマークを消す場合は=Falseです・
チェックボックスの名前が同じで番号が続いていると書きやすい。
似た質問か
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1492714

この回答への補足

ありがとうございます。
Controlswでエラーになります。
再度ご教示お願いします。

補足日時:2008/02/06 13:17
    • good
    • 0

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