dポイントプレゼントキャンペーン実施中!

下のようなエクセルシートでチェックがランダムに入っています。
1個1個クリックしてチェックを解除するのは大変なので一括
で出来る方法がないか悩んでおります。

  A B C D
1 □ □ □ □
2 □ □ □ □
3 □ □ □ □

A 回答 (2件)

もし他によい方法がなければ


Sub test01()
For i = 1 To ActiveSheet.DrawingObjects.Count
ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = 0
Next i
End Sub
を実行するとできます。
チェックボク以外は貼り付けてないこと。
シートに直接コントロールツールボックスのチェックボックスを貼り付けてテストしました。
コマンドボタンにでも登録すればよい。
    • good
    • 2
この回答へのお礼

実はこの方法のようにコマンドボタンに登録する方法を模索していました。特に("CheckBox" & i)の記述法が大変参考になりました。
チェックボックスが140個もあるものなので。

For i = 1 To 140
ActiveSheet.Shapes("Check Box " & i).Select
With Selection
.Value = xlOff
End With
Next i

これで解決できました。
ちょっと余談ですが i は Dim i As Integer のように定義しなくてもエラーが出ないのですね(^^;
ありがとうございました。

お礼日時:2007/10/14 08:02

フォームのチェックボックスであれば、図形描画のツールバーにある


「オブジェクトの選択:白いカーソル」をクリックして、
全てのチェックボックスを選択する。
1つのチェックボックス上で「右クリック」-「コントロールの書式設定」
の「コントロール」で値をオフにしてOKではどうでしょう?
    • good
    • 1
この回答へのお礼

過去ログを見るとACCESSでは更新クエリーを使う方法があることが理解できたのですが、EXCELLでは?と悩んでおりました。
この方法があったのかと目から鱗でした。
これで選択して切り取りをするとチェックボックスの一括消去ができることも分かりました。
ありがとうございました。

お礼日時:2007/10/14 07:42

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