- ベストアンサー
EXCELLチェックボックスのチェックの一括削除
下のようなエクセルシートでチェックがランダムに入っています。 1個1個クリックしてチェックを解除するのは大変なので一括 で出来る方法がないか悩んでおります。 A B C D 1 □ □ □ □ 2 □ □ □ □ 3 □ □ □ □
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もし他によい方法がなければ Sub test01() For i = 1 To ActiveSheet.DrawingObjects.Count ActiveSheet.OLEObjects("CheckBox" & i).Object.Value = 0 Next i End Sub を実行するとできます。 チェックボク以外は貼り付けてないこと。 シートに直接コントロールツールボックスのチェックボックスを貼り付けてテストしました。 コマンドボタンにでも登録すればよい。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
回答No.1
フォームのチェックボックスであれば、図形描画のツールバーにある 「オブジェクトの選択:白いカーソル」をクリックして、 全てのチェックボックスを選択する。 1つのチェックボックス上で「右クリック」-「コントロールの書式設定」 の「コントロール」で値をオフにしてOKではどうでしょう?
質問者
お礼
過去ログを見るとACCESSでは更新クエリーを使う方法があることが理解できたのですが、EXCELLでは?と悩んでおりました。 この方法があったのかと目から鱗でした。 これで選択して切り取りをするとチェックボックスの一括消去ができることも分かりました。 ありがとうございました。
お礼
実はこの方法のようにコマンドボタンに登録する方法を模索していました。特に("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 のように定義しなくてもエラーが出ないのですね(^^; ありがとうございました。