- ベストアンサー
Excel VBA チェックボックスの規定値?について
Excel2003を使用しています。 チェックボックスを挿入すると、チェックがついていない状態で挿入されますが、これを、チェックがついている状態で挿入することはできますでしょうか? あるマクロを実行すると、チェックボックスが挿入され、その挿入されたチェックボックスにチェックがついている状態にしたいのですが…。 チェックがついている状態で挿入することが不可能であれば、一旦、チェックがついていない状態で挿入後にチェックをつけるところまでマクロで処理したいのですが、どのようにしたらいいでしょうか? よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
アクティブセルにコントロールツールボックスのチェックボックス を配置しチェックを入れます。 Dim r As Range Dim mtp As Single Dim mlt As Single Dim mwd As Single Dim mht As Single Dim ck As Object Set r = ActiveCell mtp = r.Top mlt = r.Left mwd = r.Offset(, 1).Left - r.Left mht = r.Offset(1).Top - r.Top Set ck = ActiveSheet.OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=r.Offset(, -1), _ DisplayAsIcon:=False, Left:=mlt, Top:=mtp, Width:=mwd, Height:=mht) ActiveSheet.OLEObjects(ck.Name).Object.Value = True
その他の回答 (3)
- merlionXX
- ベストアンサー率48% (1930/4007)
No1です。 てっきりフォームのだと思ってました。 コントロールツールボックスのはあまり使ったことがないのですが、こんな感じでしょうか。 Sub test02() With ActiveSheet Set cb = .OLEObjects.Add(ClassType:="Forms.CheckBox.1", Link:=False, _ DisplayAsIcon:=False, Left:=500, Top:=50, Width:=100, Height:=20) .OLEObjects(cb.Name).Object.Value = True End With End Sub
お礼
早々に、再度の回答ありがとうございます。 > コントロールツールボックスのはあまり使ったことがないのですが、こんな感じでしょうか。 私もコントロールツールボックス上にあるチェックボックスは、あまり使用したことがないのですが、今回は画面上の見た目のこともあり、こちらを使用することに…。 再度の質問にもお答えいただいて、助かりました。 ありがとうございました。
- marbin
- ベストアンサー率27% (636/2290)
挿入したチェックボックスにはイベントを割り付けるのでしょうか? イベント割付まで自動で行いたいならクラスモジュールを使うことになると思います。
お礼
回答ありがとうございます。 まず、質問文に書き忘れていましたが、今回使用しているチェックボックスはコントロールツールボックス上にあるチェックボックスです。 > 挿入したチェックボックスにはイベントを割り付けるのでしょうか? イベントは割り付けません。 あるマクロを実行すると、チェックボックスを挿入し、挿入したチェックボックスにチェックをつけるところまで処理したいと思っています。
- merlionXX
- ベストアンサー率48% (1930/4007)
一例です。(フォームのCheckBoxです) Sub test01() Set cb = ActiveSheet.CheckBoxes.Add(100, 50, 80, 20) cb.Value = xlOn End Sub
お礼
早速の回答ありがとうございます。 質問文に書き忘れていましたが、チェックボックスはコントロールツールボックス上にあるチェックボックスを使用しています。 記載していただいたコードを真似て書いてみましたが、エラーが出てしまいました(^^ゞ コントロールツールボックス上のチェックボックスについても、同様に設定できるのでしょうか? 重ねての質問で申し訳ありませんが、お時間があれば、教えていただけると助かります。
お礼
早々に、再度の回答ありがとうございます。 記載していただいたコードを参考にさせていただきながら、コードを追加してみたところ、希望通りのことができました。 ありがとうございました。