次の方法で共有

excel2016 vba オートメーションエラーについて

Anonymous
2019-03-17T07:07:44+00:00

excel 2016のvbaでフォームを使ってプログラムを組んでいます。フォームには沢山コントロールが張り付けてあり、コントロールの数が一定量を超えたり、処理数が増えるとオートメーションエラーで勝手にファイルが閉じて使えません。vbaエディターから実行すると動作します。何か対策は無いでしょうか?おそらくExcelが処理の許容量を超えてるのだと思います。コーディングは間違ってません。

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

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

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

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

Anonymous
2019-03-19T04:42:06+00:00

しろくろ白猫 さん、こんにちは。

ご返信ありがとうございます。

セーフ モードだとマクロ自体が無効になってしまい、動作の確認はできなかったのですね。

Excel の仕様および制限

上記のような資料もありましたが、搭載されているメモリ容量に依存する制限も多いようなので、なかなか原因特定は難しいかも知れないですね。

イニシャライズ処理のどの段階でエラーが発生するのか切り分けるために、コードの途中に「MsgBox」を挿入したり「Wait」を挿入したり、といった方法がありそうですが、マクロや VBA コードの詳細については一般ユーザー向けフォーラムのマイクロソフト コミュニティでは情報が集まりにくいかと思います。

こちらについては、VBA 専用のトピックがある MSDN フォーラムに投稿して、アドバイスを募ってみてはいかがでしょう。

MSDN フォーラム -VBA トピック

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

1 人がこの回答が役に立ったと思いました。
0 件のコメント コメントはありません

3 件の追加の回答

並べ替え方法: 最も役に立つ
  1. Anonymous
    2019-03-20T06:32:44+00:00

    近藤さん、了解致しました。ありがとうございます。MsgBoxやWait、Sleep、DoEvents等いろいろ試しましたが駄目でした。近藤さんからご紹介頂いたVBA専用のトピックで早速投稿させて頂きました。

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

    0 件のコメント コメントはありません
  2. Anonymous
    2019-03-18T07:29:26+00:00

    近藤さん、お返事ありがとうございます。セーフモードで起動した場合マクロを実行出来ません。このブックでマクロが使用できないか、またはすべてのマウロが無効になっている可能性があります。とメッセージが出てしまいました。アドインの方確認したところ4つともすべてチェックが外れている状態でした。実はフォームを起動する時にユーザーフォームのイニシャライズと言うイベント関数の中でいろいろ処理させてます。貼ってあるコントロールも多いのですが、エクセルがその処理を一度にやろうとするのでエラーになると思うんですけど、エクセルとシステムの能力なりに、ゆっくり段階的に処理させる方法は無いでしょうか?いろいろ調べて頂いたのに済みません。

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

    0 件のコメント コメントはありません
  3. Anonymous
    2019-03-18T01:23:58+00:00

    しろくろ白猫 さん、こんにちは。

    マイクロソフト コミュニティへの投稿ありがとうございます。

    Excel でオートメーション エラーが発生するのですね。

    調べてみたところ、Excel 2013 でのケースですが過去に以下スレッドがありました。

    Excel 2013のVBAでオートメーションエラーが発生する

    上記を参考に、アドインやユーザー設定を読み込まない「Office セーフ モード」で Excel を起動した場合も同様のエラーが発生するか、確認してみてはいかがでしょう。

    もしセーフ モードだと問題無く動作するようであれば、「こちらのページ」の「2 - アドインを手動で無効にする」の手順でさらに原因の特定ができないかも試してみてください。

    確認の結果など、ご返信をお待ちしています。

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

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