みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

Excel VBA 突然停止

お世話になります。

標記の件で悩んでおります。

out.csv→→→中間ファイル.xlsm→本処理ファイル.xlsm
201510.csv→

上記の通り、2つのExcelフォーマットのcsvファイルを中間ファイルに読み込ませるVBAを作成し、中間ファイルを一度作りました。これは正常に処理が止まらず、正しく書き込まれています。

因みに、csvエクセル形式行数は3万行ぐらいです。レコード数は、100万行ですが、私は、csvのデータをレコード数で読み込ませていません。

単純に、エクセルフォーマットでcsvファイルを開き、範囲指定してそれを、単純に中間ファイルでTempシートに単純にコピペし、不要なコメント行とか空欄を中間ファイルのマクロで、削除し、中間ファイルで必要なデータを作成しています。
ここまでは、間違いなく出来ております。つまり、レコード数を何か別のPGで読み込ませてエクセルに取り込ませることはしておりません。

そこで、最終の本処理ファイル.xlsmに中間ファイルをオープンして読み込ませると、途中で停止してしまいます。

そこで、本処理ファイルのVBAのプログラムの関数の一つ一つにブレークポイントを入れ、処理したところ、今度は、問題なく出来てしまいます。
結果を担当者に聞くと、間違いなく出来ているようだと言っていました。

そこで、ブレークポイントではなく、自動処理できないかと思い、もう一度、中間ファイルを本処理ファイルでオープンすると、予想通り、停止します。

そこで、再度、先ほどと同じ様にブレークポイントを入れて処理をしようとしたところ、読み込むこともあるし、読み込んでも停止してしまいます。

論理上、このようなことが、あるのかと思って困っています。

環境は、各ファイルをファイルサーバーに置いて処理しています。
ローカル、自分のPC単体ではやっていません。
Win 7 Professional 32bit版 4GBのPCです。
2010 Excel

ご回答よろしくお願い致します。

投稿日時 - 2015-10-31 09:37:14

QNo.9072604

困ってます

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(1)

直接的な回答ではありませんが、
・PC上にコピーして処理を実行。終わったらファイルサーバー上に戻す。
・本処理ファイル.xlsmからout.csvを開き、1行ごとに処理。
が妥当だと思います。

投稿日時 - 2015-11-02 12:11:33

補足

コメント有難うございます。
>・本処理ファイル.xlsmからout.csvを開き、1行ごとに処理。
残念ながら、中間ファイルで使用するデータがあるシートに存在しています。
これは、本処理ファイルには存在しません。
ですので、csvを、直接、本処理データに処理することはできないプロセスとなっています。

ただし、PC上に全てのデータを置き、処理して、その必要なファイルだけをサーバー上に戻すことは論理的にできますので、実施します。

>ファイルサーバー上に戻す
こういう停止は、ネットワークに原因があるという前提ですね?

とにかく、ご回答有難うございます。

投稿日時 - 2015-11-04 09:54:53

お礼

コメント有難うございます。

投稿日時 - 2015-11-04 09:54:57

あなたにオススメの質問