- 締切済み
VBA 保存を重ねるとフォーム起動後強制終了
エクセル2003VBAでデータの入力フォームを作りました。マルチページ数ページに亘り、150個程度のデータ(主に数値)をエクセルシートとやり取りする程度のものですが、データを更新し、別名で保存、を繰り返すと、孫ファイル(大元から2回目の保存)あたりになると、フォームを立ち上げるボタンを押すと強制終了していまうようになってしまいます。VBEを立ち上げたり、多少フォームの修正等を行うとまた復活するのですが、それでも同じ症状に陥ります。そこで、 (1)当初2007で作りはじめてしまったので、2003で作り直したり、 (2)一旦エキスポートしたり (3)フォームを軽くすべく、連動操作などは標準モジュールに移し、コンボボックスをやめてみたり、コンボボックスのRowSourceをやめてみたり、マルチページをやめてみたり …、といろいろ可能なことはしてみましたが、孫ファイルで強制終了、という現象から抜け出せないでいます。 どうやら、保存を繰り返すとマクロに傷がついていくみたいな感じなのですが、そのようなことってあるのでしょうか? ちなみに、一度強制終了するようになったファイルは、普通にはフォームが立ち上がらないのですが(しばらくすると立ち上がるときもある)、まだフォームが立ち上がるファイルを予め立ち上げておくと、一度強制終了するようになったファイルのフォームも普通に起動するようになります。 また、特定のPCでは全く落ちなかったり、2007だったら大丈夫だったり、…とファイルによって症状が違ったりしていて、単なるメモリの問題だけでもない気がしており、全く弱っています。保存を繰り返してもマクロが劣化しないよう(?)する工夫やヒントを戴ければ幸いです。 (初めての投稿でうまく表現ができず、長文となり、ご容赦下さい)
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- spar
- ベストアンサー率46% (35/75)
元ファイルを開いて、データ更新⇒別名で保存した時に元ファイルは閉じますか? それとも元ファイルと別名ファイルが2つ開いていますか?? ここまで聞いておいて明確なご回答は差し上げられませんが、1つの時・2つの時・いくつか開いた時など、デバッグする感じで タスクマネージャーにEXCEL.EXEが何個あるか見てみて下さい 以前、私はそんな感じの事がありましたが、単にファイル保存処理方法のミスでしたけど・・・
お礼
ご投稿下さり、ありがとうございます。 >元ファイルを開いて、データ更新⇒別名で保存した時に元ファイルは閉じますか? はい、問題なく閉じます。フォームを開かない限りは単独で立上げても普通に閉じたり保存できたりもします(ただ、保存を繰り返していくと、フォームを立ち上げる際、クラッシュするようなりますが…)。 ちなみに、保存をプログラムで行わせるような形にはしておらず、フォームを立ち上げるために、わざと開くようしている別のファイルは、エクセル画面は立ち上げたままそのファイルだけ保存せずに閉じるボタンだけ表示した元ファイルと同じ中身のフォームを操作させ、マクロを試運転させているような形で運用しています。