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

EXCEL2003のマクロで、
1シート内に、大量のチェックボックスを
作成したいのですが、途中で止まります。

エラーメッセージは、
”オートメーションエラーです。要素が見つかりません”
です。

マクロの内容は、データベースを読み
1レコードずつ、シートの1行に転記した後
横に、チェックボックスを、7個作ります。

500レコードぐらいあるのですが
170レコード目の6個目を作成するところで
先ほどの エラーになります。

一度、その現象になると
Worksheet(対象シート名).~~
の、プロパティみたり、メソッド実行したりしようとすると
”オートメーションエラーです。要素が見つかりません”
になります。
シート名を認識できなくなっているのでしょうか。

チェックボックスを、2,000行分(14,000個)作りたいのですが
無理でしょうか?

ちなみに、Excel2010 ですが
http://support.microsoft.com/kb/980528/ja
で、レジストリを変更することを
書かれていましたが
やってみてもダメでした。

オブジェクト数に限界があるのでしょうか?
どんな小さなヒントでもかまいません。

なにとぞよろしくお願いします。

A 回答 (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
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
調査不足で想定外のデータ量となり
このような事態になってしまいました。

早速 ご提案の方法をちょっと試しましたが
非常に軽いですね。
ソースを変更してみようと思います。

ありがとうございました。

お礼日時:2011/12/07 09:26

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

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

反省いたします。ありがとうございました。

お礼日時:2011/12/07 09:14

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