2016-05-10 13 views
0

入力値が正しい場合は、ワークブック内のすべてのスプレッドシートをチェックしている単純なVBAマクロを作成していました(たとえば値> 0など - > ;))VBAコード - あるコンピュータで高速で、別のコンピュータで遅い

興味深いことにコードは、この条件の下で、対象のコンピュータ上で非常に速く走っていた:

VBAコードは、独自のワークブック(例えばtarget_macro.xlsm)に保存され、ユーザーがファイルに入力しなければなりませんでした。特定の細胞のURL。

ActiveWorkbookを使用するコードをターゲットワークブックに埋め込んだ後(ローカルで実行する必要があるため)、コードはユーザーのターゲットコンピュータで遅く実行されています(〜20秒ではなく10分?!)。私のマシンでは以前と同じくらい速く動作します。

これはなぜ起こるのでしょうか?

+1

コードの概要を教えてください。 –

+1

速いものはXLS(65536 x 256セル/シート)であり、遅いものはXLSX(1048576 x 16384セル/シート)であり、マクロはシート内のすべてのセルにかかっていますか? –

答えて

0

ファイルがネットワークドライブにある場合、VBAが遅くなります。それをローカルストレージにコピーすると、複数回高速化されます。

私はMS AccessデータベースとExcelスプレッドシートでこの効果を得ました。これは、データ構築の全プロセスを10倍高速化しました。

+0

申し訳ありませんが、私はすでにローカルハードドライブにファイルをコピーしようとしていました。 まだ同じ発行です。 – J0eBl4ck

0

多くのことを試した後、私は解決策を見つけました。特別なアドインが原因で問題が発生し、ネットワークマシンに接続しようとしました。

関連する問題