- 395 名前:345,358,364 mailto:sage [2010/02/24(水) 00:55:58 ]
- レスくれた方ありがとうございます。
上手く伝わりませんが、>>345で書いた通り、 PCはデュアル又はクアッドコアで、システムのパフォーマンスオプションはバックグラウンドサービスに設定。 エクセルを複数起動して並列処理しており、ウィンドウが表でも裏でも全て高速動作してる。 画面更新や再計算停止等の高速化は実施済み。 ただし、VBAコードの中にSortメソッドが含まれており、かつ非アクティブウィンドウである場合に限り、Sortメソッドの処理が極端に遅くなる。・・・という事です。 >>385の方法をスクリプトで自動化してるので、Core i7でExcel2000を8つ起動して同じコードを走らせると8コア100%までぶん回して高速に演算できてるけど、 Sortメソッドを使うとそこが激しくボトルネックになる。 ちなみに普通にエクセルを1つだけ開いてSortを何万回も繰り返すコードを実行中に、デスクトップをクリックしてエクセルを非アクティブにするだけでも途端に劇遅になる。 これ多分Excel2000の仕様というかバグなんだけど、同じ現象についてはググっても見つからなかったので、これが問題になるほど何時間もぶん廻す使い方がよほど特殊なんだろう。 Sortメソッドを使わない方向で解決する事にします。
|

|