次の方法で共有

EXCEL のコマンドボタンを VBA で貼り付けようとすると、エラーになる。

Anonymous
2011-08-31T00:35:59+00:00

EXCEL のコマンドボタン(コントロールツールボックス)を VBA で大量(1208件以上)に張り付けると、コマンドボタンのクリックイベントが発生しなくなってしまう。

【発生する現象】

・OLEObjects.Count でコマンドボタンの数を取得しようとすると、「オートメーションエラー。要素が見つかりません。」のエラーメッセージが表示される。

・1208個目以降のコマンドボタンのクリックイベントが作成されない。

開発者テクノロジ | Visual Basic for Applications

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

質問作成者が受け入れた回答

Anonymous
2011-08-31T05:25:16+00:00

回答にはなりませんが・・・・・

Sub aaa()

With ActiveSheet

  For i = 0 To 12

    For j = 0 To 99

      .OLEObjects.Add ClassType:="Forms.CommandButton.1", Link:=False, Left:=1 + i * 70, Top:=1 + j * 60, Width:=60, Height:=40

    Next

  Next

End With

End Sub

これで、シートにコマンドボタンを貼りつけたところ、1208個貼りつけたところでエラーになりました。

またご指摘の通り、その状態ではCountもエラーになり、一つ削除するとCountできるようになります。

私はOLEオブジェクト数の上限に関するKBは見たことがありませんが、推測するにExcelの上限だと思います。

因みに、Excel2010でも同じでした。

参考まで。

この回答は役に立ちましたか?

0 件のコメント コメントはありません

1 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2011-09-06T07:31:14+00:00

    y sakuda さん、コメントありがとうございます。

    伸一脇田 さん、こんにちは。

    こちら私の方でも情報を探してみたのですが、参考となりそうな情報は見つかりませんでした。。。

    ただ y sakuda さんの方で試していただいた結果でも同様でしたので、何かしらの制限があるのかもしれません。

    同じような現象に遭遇された方にも、こちらの問題について情報共有が出来ばと思い、今回は私の方で \[回答としてマーク\] をさせていただきました。

    もちろんマーク後も返信は出来ますので、続けて質問がしたい場合は、ご遠慮なく投稿を行ってください。

    今後も Answers をよろしくお願いします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません