• ベストアンサー

Excel VBA チェックボックスの規定値?について

Excel2003を使用しています。 チェックボックスを挿入すると、チェックがついていない状態で挿入されますが、これを、チェックがついている状態で挿入することはできますでしょうか? あるマクロを実行すると、チェックボックスが挿入され、その挿入されたチェックボックスにチェックがついている状態にしたいのですが…。 チェックがついている状態で挿入することが不可能であれば、一旦、チェックがついていない状態で挿入後にチェックをつけるところまでマクロで処理したいのですが、どのようにしたらいいでしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • marbin
  • ベストアンサー率27% (636/2290)
回答No.3

アクティブセルにコントロールツールボックスのチェックボックス を配置しチェックを入れます。 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

KOH3193
質問者

お礼

早々に、再度の回答ありがとうございます。 記載していただいたコードを参考にさせていただきながら、コードを追加してみたところ、希望通りのことができました。 ありがとうございました。

その他の回答 (3)

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.4

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

KOH3193
質問者

お礼

早々に、再度の回答ありがとうございます。 > コントロールツールボックスのはあまり使ったことがないのですが、こんな感じでしょうか。 私もコントロールツールボックス上にあるチェックボックスは、あまり使用したことがないのですが、今回は画面上の見た目のこともあり、こちらを使用することに…。 再度の質問にもお答えいただいて、助かりました。 ありがとうございました。

  • marbin
  • ベストアンサー率27% (636/2290)
回答No.2

挿入したチェックボックスにはイベントを割り付けるのでしょうか? イベント割付まで自動で行いたいならクラスモジュールを使うことになると思います。

KOH3193
質問者

お礼

回答ありがとうございます。 まず、質問文に書き忘れていましたが、今回使用しているチェックボックスはコントロールツールボックス上にあるチェックボックスです。 > 挿入したチェックボックスにはイベントを割り付けるのでしょうか? イベントは割り付けません。 あるマクロを実行すると、チェックボックスを挿入し、挿入したチェックボックスにチェックをつけるところまで処理したいと思っています。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

一例です。(フォームのCheckBoxです) Sub test01() Set cb = ActiveSheet.CheckBoxes.Add(100, 50, 80, 20) cb.Value = xlOn End Sub

KOH3193
質問者

お礼

早速の回答ありがとうございます。 質問文に書き忘れていましたが、チェックボックスはコントロールツールボックス上にあるチェックボックスを使用しています。 記載していただいたコードを真似て書いてみましたが、エラーが出てしまいました(^^ゞ コントロールツールボックス上のチェックボックスについても、同様に設定できるのでしょうか? 重ねての質問で申し訳ありませんが、お時間があれば、教えていただけると助かります。

関連するQ&A

  • Excel VBAのチェックボックスについて

    こんばんは、Excel vbaのチェックボックスについてご教授をお願いします。 Userformを作成しています。 チェックボックスを横に4つ配置したとします。その際、常にどれか一つのチェックボックスにしかチェックできないようにしたいのです(チェックしたあとに、違うチェックボックスにチェックしたら、先にチェックしてあるのもはチェックを消したい)。 このような事をしたい場合、マクロ記述での操作になるのでしょうか?それとも、何か違う操作かコマンドがあるのでしょうか?4つ一組でたくさん並べたいので、すべてにマクロ記述となると大変かな?と思いまして・・・。もし、マクロ記述でしか方法が無い場合、マクロ記述の内容も教えて頂ければと思います。 申し訳ありませんが、よろしくお願いします。 ※Excel2000を使用しています。

  • Excelで、チェックボックスにチェックできない

    Excel2010を利用しております。 OSは、Windows7 pro 32bitです。 Excelでチェックボックスや、プルダウンメニューがあるシートで チェックや、プルダウン選択ができない状態が発生しております。 同シートを他のパソコン上で実行すると普通に動作します。 セキュリティの問題かと思い、マクロを全て実行するに設定しても 変化ありません。 開発メニューのデザインモードは、編集状態ではありません。 どの辺がおかしいでしょうか? 上手く、伝えられているか疑問ですが、症状じたいが不可思議な 現象なので、どこから調べたらいいのか、検討がつきません。 よろしくお願い致します。

  • Excelのチェックボックスについて教えてください

    Excel2003使用者です。 今顧客リストを作成しているのですが、 A列にフォームでチェックボックスを入れていて、簡単にはこんな感じになっています。    A       B    C   D  ・・・ 1 チェックボックス 顧客名 部署 住所 ・・・ 営業が訪問した先のチェックボックスにチェックを入れるようになっています。 これをオートフィルタ機能で、チェックをつけたところとつけてないところでフィルタをかけたいのですが、 全て「空白セル」としてフィルタがかかりません。 またオートフィルタをかけるとチェックボックスが寄ってしまいます。 フォームではダメなのかと思って、コントロールツールボックスでチェックボックスを作成したのですが、 それもダメでした。 どなたか解決方法を教えていただけないでしょうか。 オートフィルタでチェックボックスにチェックしたものだけを表示させることはできないのでしょうか。 もしマクロを組まないといけないのでしたら、マクロ初心者なため、 出来ればコードも教えていただきたく、 また、オートフィルタをかけた際にチェックボックスが移動してしまうことも解決したいので、 その点についても教えていただけると幸いです。 お手数ですが、宜しくお願い致します。

  • Excelでチェックボックスにチェックが入れられない。

    初心者でお願いいたします。 仕事で業者さんから送っていただきましたExcelのファイルで、チェックボックスを入れるところがあるのですが、そこにチェックを入れることができません。 チェックボックスのところをクリックしようとすると、そのボックスの部分が四角で大きく囲まれたような状態になるだけで、チェックマークを入れようとしているのですが、何が原因で入れられないのでしょうか? わかりません。 お願いいたします。

  • エクセルのチェックボックス

    こんにちは。 エクセルのチェックボックスについて一括でチェックをはずす方法を教えて頂きたいのですが、 チェックボックスにチェックを入れると自動で指定した範囲から価格を持ってくるという関数を使ったファイルを作成しました。 下記の(1).(2)の方法でそのチェックボックスのチェックを一括ではずすことは可能でしょうか? (1)そのファイルをチェックが入った状態で保存し閉じても、 再度ファイルを開いた段階で、すべてのチェックがはずれている。 (2)普通の数値が入ったセルに関しては”記録マクロ”を使用し、ボタンを押せば、数値が削除されるという事はできました。 それと同じような感じでボタンを押せば、チェックがはずれる。 もし(1).(2)の方法で可能であればその方法を教えて頂けないでしょうか? また、両方とも不可能ならば他の方法でチェックボックスを一括で外す方法教えて頂けないでしょうか? ちなみに、私は基本的な関数などは問題なく使用できますが、記録マクロに関しても初めて使用した程度のエクセル認識力ですので、いくつか方法があるならば、一番簡単だと思われる方法を教えて頂きたいです。 知識不足でお恥ずかしいですが、 ぜひ、教えて頂けます様、宜しくお願いいたします。

  • 【Excel VBA】チェックボックスの挿入位置

    Excel2003を使用しています。 Sheet2のN1セルに入力されている番号と同じ番号が入力されているセルをSheet1のA列(A11:A200)から探して、その行のB列にチェックボックスを挿入したく、下記のようにコードを書いてみましたが、チェックボックスの挿入と挿入位置等(?部分)をどのように書いたらいいのかわかりません。 ---------------------------------------- Sub test1() Dim myStr As String Dim myRange As Range myStr = Sheets("Sheet2").Range("N1").Value Set myRange = Sheets("Sheet1").Range("A11:A200").Find(myStr) If myRange Is Nothing Then Exit Sub Else  '?←この部分がわかりません…。 End If End Sub ---------------------------------------- 実際にチェックボックスを挿入してマクロの記録もとってみたのですが、あまり参考にすることができず、質問させていただいた次第です。 チェックボックスは、コントロールツールボックスのチェックボックスを使用したいのですが…。 よろしくお願いします。

  • Excel VBA チェックボックスの判断

    下記のようなマクロでチェックボックスを作成したのですが、その作成したチェックボックスをクリックしたときに、ある処理を実行させるようにするにはどうすればいいのでしょうか? よろしくお願いします。 Dim Max as Long Dim Cell as Range Dim Check as CheckBox ・ ・ ・ For i = 0 To Max   With Cell.Offset(i)   Set Check = ActiveSheet.CheckBoxes.Add_     (Left:=.Left,Top:=.Top, Width:=.Width, Height:=.Height)   End With   With Check   .LinkedCell = Cell.Address   .Caption = ""   .Value = False   End With Next

  • エクセル VBA チェックボックスの制限について

    チェックボックス5個のうち 2つまでチェックを入れてもらい チェックボックスに対応する数値を セルに出力したいのです。 『実行』というボタンをつくったのですが、 チェックを入れ 実行ボタンを押し、 チェックが2つを超える場合に やり直しをさせるものを作りたいのです。 どなたかご教授お願いします。 VBA初心者です。

  • エクセル2003VBA チェックボックスについて

    エクセル2003VBA チェックボックスについての質問です よろしくお願いします。    A         B 1 あああ       □ 2 いいい       □ 3 ううう        □ . . . . 35 かかか      □ 複数のチェックボックスをB列に配置し、 B1がオンになるとbook1を開く B2がオンになるとbook2を開く ・ ・ B35がオンになるとbook35を開く処理を行いたいのですが、 非常にコードが長くなってしまいます。 以下のコード以外で、 どのチェックボックスがオンになっているかを調べる方法が知りたいのですが、よろしくお願いします。 Private Sub CheckBox1_Click() book1を開く処理 End Sub Private Sub CheckBox2_Click() book2を開く処理 End Sub ・ ・ ・ Private Sub CheckBox35_Click() book35を開く処理 End Sub

  • エクセルのコントロールボックスにあるチェックボックスの挿入

    XP エクセル2003 いつも御世話になります。   表示 ツールバー コントロールツールボックス にある チェックボックスを   ※例えばA2~A100 を挿入したいのですがどうすれば可能でしょうか。 もし可能ならば挿入の仕方についてご指導を仰ぎたいです。 上記の例はA列ですがなんとなくマクロにて挿入するような気がしますのでよろしければA列でだめな時を想定して、H列に変更して挿入するときはと併せて御願いします。 利用の仕方 オートフィルターでA列にチェックボックスにチェックが入っている行を選択したいと考えています。 よろしく御願いします。

専門家に質問してみよう