EXCEL2003で大量のチェックボックスを作成する方法

このQ&Aのポイント
  • EXCEL2003のマクロを使用して、大量のチェックボックスを作成する方法について教えてください。
  • チェックボックスを作成しようとすると、「オートメーションエラーです。要素が見つかりません」というエラーメッセージが表示されます。この現象は、シート名が認識できなくなっている可能性があります。Excel2010でも同じ問題が発生します。
  • チェックボックスを2,000行分(14,000個)作成したい場合、オブジェクト数の限界に達してエラーが発生する可能性があります。レジストリを変更することで解決できる場合もありますが、今回は有効な解決策が見つかりませんでした。
回答を見る
  • ベストアンサー

EXCEL2003でチェックボックスを大量に

EXCEL2003のマクロで、 1シート内に、大量のチェックボックスを 作成したいのですが、途中で止まります。 エラーメッセージは、 ”オートメーションエラーです。要素が見つかりません” です。 マクロの内容は、データベースを読み 1レコードずつ、シートの1行に転記した後 横に、チェックボックスを、7個作ります。 500レコードぐらいあるのですが 170レコード目の6個目を作成するところで 先ほどの エラーになります。 一度、その現象になると Worksheet(対象シート名).~~ の、プロパティみたり、メソッド実行したりしようとすると ”オートメーションエラーです。要素が見つかりません” になります。 シート名を認識できなくなっているのでしょうか。 チェックボックスを、2,000行分(14,000個)作りたいのですが 無理でしょうか? ちなみに、Excel2010 ですが http://support.microsoft.com/kb/980528/ja で、レジストリを変更することを 書かれていましたが やってみてもダメでした。 オブジェクト数に限界があるのでしょうか? どんな小さなヒントでもかまいません。 なにとぞよろしくお願いします。

  • INKY
  • お礼率100% (2/2)

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

  • ベストアンサー
  • DreamyCat
  • ベストアンサー率56% (295/524)
回答No.2

どこの板だったか忘れましたが 先日も1000個にチェックというのがありました。 どのような事情かわかりませんが 1000~10000個もチェックボックスがあったら腹がたちますね。 当方のPC(古いVista、2MB、Excel2010)では1200個くらいでエラーになりました。フォームのだと1000個は何秒かでできるのですが数が増えるにつれてものすごく時間がかかるようになり、やがて5000個あたりで、進行しているのかどうかわからなくなり、操作もできなくなりました。 下記のようにセルを使えば何の負荷もかからずに瞬時に処理できますがどうでしょう。 Private Sub CommandButton1_Click() CommandBars("cell").Enabled = Not CommandBars("cell").Enabled End Sub Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) Target.Value = Not Target.Value End Sub

INKY
質問者

お礼

回答ありがとうございます。 調査不足で想定外のデータ量となり このような事態になってしまいました。 早速 ご提案の方法をちょっと試しましたが 非常に軽いですね。 ソースを変更してみようと思います。 ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

http://okwave.jp/qa/q7174276.html で2000個でやってみたら時間は多少かかるがエラーは出なかった。 チェックボックスを1シートに何千個も使って、(多分他人にエクセルを使わせる工夫なんだろうが)、初心者のプロット・設計・ が(思いつきで)適当でないと思うよ。 自分のしたい路線を前提に固執して(初心者に多い)、全体的に何をしたいのかも明確にせず、答えてくれということだが、反省して、やりたいことをするための方法で、良いものはどういうのか、やりたいことを(コントロールレベルに拘らず)記述して、別質問して経験者の批判や知恵を借りたら。 また、エクセルは開発用のアプリとして適してない。 1行に7個作って何をするのか?

INKY
質問者

お礼

耳が痛いご指摘、ありがとうございます。 イメージ通り完成したと思ったら、 予想以上にデータが多く、 このような事態になり、簡単に解決できないものかと ここにすがったしだいです。 反省いたします。ありがとうございました。

関連するQ&A

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

    EXCELにて2つ以上のチェックボックスを作成した時、 その中から1つのチェックボックスのみしか選択できないよう チェックをかけることは可能でしょうか? 使用しているバージョンは「EXCEL2010」 です。 よろしくお願い致します。

  • Excel2002のチェックボックスの設定

    Excel2002のチェックボックスについて教えて下さい。 チェックボックスを「A」と「B」、2つ作り 「A」には「A」のみでチェックを入れられるが、 「B」にチェックを入れると、自動的に「A」にもチェックが入るようにしたいのです。 ・チェックボックスで上記のようなことは設定できるのでしょうか? ・できるのであれば、マクロなしでできますか?マクロは使えないのです。 ・できないのであれば何かよい代替案ありますか? 以上、ご存知であれば教えて下さい。

  • チェックボックスに関して(vba)

    VBA初心者のためコードを教えてくれますと助かります。 シート1にリストが記載されています。 チェックボックスで選択されている値を取得して(シート1のA列の商品名から)、チェックされている値のデータを転記するようなコードを作成したいと思っております。(別途シート追加する) 知識不足でうまく動きません。よろしくお願いします。

  • チェックボックスにより行の表示非表示

    Excel2007を使用し、以下のようなチェックリストを作成しました。 「□」はActiveXコントロールのチェックボックスです。 1行目:□ とくにありません 2行目:□ りんご 3行目:□ もも 4行目:□ みかん 5行目:□ ばなな 2行目にチェックが入っていれば □りんご と表示、 2行目と5行目にチェックが入っていれば □りんご □ばなな と表示、そして 2~5行目のチェックボックスにすべてチェックが入っていない場合は □とくにありません だけを表示させたいです。 どのようにマクロをくんだらいいでしょうか? ちなみに、1シートに表示されるチェックボックスはこれだけでなく、 7行目:□ とくにありません 8行目:□ いぬ 9行目:□ ねこ 10行目:□ とり と、果物、動物それぞれで同じ動作をさせたいと思っています。 IfかCaseを組めばいいのかと思っているのですが 複雑な条件文をどのように記述すればいいかわかりません。 ご教授お願いいたします!

  • マクロ フォームでのチェックボックスについて

    教えてください。 1)フォームでテキストボックス2つ、ボタンで新しい入力フォーム表示 2)入力フォームでチェックボックス6個、コンボボックス6個を作ります。 3)チェックボックスにチェック(1個のみ)したら、1)のフォームのテキストボックスにチェックされた、項目とコンボボックスで選択された内容が転記したい。 例)果物にチェック、コンボでブドウと選択  テキストボックス→果物 ブドウ というようにフォームに転記させたい。 以前、シートでのマクロを教えていただきましたが、フォームだと頭が混乱してしまいました。 簡単で良いので、マクロの記述を教えてください。

  • 【Excel VBA】コンボボックスで選択した値の取得

    Excel2003を使用しています。 SheetAから、あるシート(都度選択)にデータを転記するマクロを作成しています。 当初は、下記のように InputBox で、転記先のシート名を入力して、そこからシート名を取得していましたが、確実にシート名を取得するために、ユーザーフォームのコンボボックスから選択するように、変更したいと思います。  MySht = InputBox("転記するシート名を入力してください")   With Sheets("SheetA")    .Range("H6:J9").Copy     Sheets(MySht).Range("M7") ~ これを、コンボボックスで選択した値を上記のコードでいう、MySht に設定(?)したいのですが、どのようにしたらいいでしょうか? コンボボックスで選択した値をセルに転記する方法はわかるので、とりあえず、今は一旦セルに転記していますが、コード内で直接(…というと変かもしれませんが)設定できるのであれば、教えていただきたいのです。 自分だけが使用するものならば、InputBox で十分なのですが、選択するシートのシート名に数字が含まれているので、全角や半角の入力ミスを避けるために、コンボボックスで選択するようにしたらどうかと思ったのですが、何か他にも良い方法があれば、あわせて教えていただけると嬉しいです。 よろしくお願いします。

  • Excel2003とExcel2000でのチェックボックスの互換性

    Excel2003とExcel2000の互換性についての質問です。 Excel2003でチェックボックス(コントロール ツールボックスの中の)を 配置して、チェックできるような文書を作成しました。 それをExcel2000で開いて、編集したりして保存をしても保存できませんで、 テンプレートを保存する、のようなメッセージがでました。 2003と2000においてチェックボックスのような基本的な部品について 互換性がないのでしょうか? 対処方法は2000で作成するしかないのでしょうか?教えてください。

  • Excel2007 でのチェックボックスの名称

    Excel2007 でフォームコントロールのチェックボックスのオブジェクト名のつけ方を教えてください。 普通にチェックボックスをつくって、プロパティを表示してもオブジェクト名をつけれるところがありません。 ActiveXのチェックボックスだと該当するものがでてきます。 やり方を教えて頂ければ助かります。

  • マクロの組み方とチェックボックスに関して

    【マクロ】の設定とチェックボックスを一括ではずす方法 1.マクロは新しいマクロの記録しか使ったことがないのですが、以下のことをやるとうまくいきません。 ・「目次」というセル以外を選択 ・B列を選択し、「ジャンプ」→「セル選択」→空白セルにチェックマーク ・「書式」→「行」→「表示しない」 以上のことをマクロに記録したいです。 マクロでなければうまく反映したのですが、新しいマクロの記録からだとうまく行きません>< 2.チェックボックスを一括(全シート)ではずす方法がありましたら教えて下さい!! ツールバーから作ったので図形のようになっていて、全シート選択すると○になってしまい選択できないのです。。

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

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

専門家に質問してみよう