• 締切済み

EXCELのマクロが回してる途中から遅くなり、困っています

現在研究でEXCELのマクロを使って計算をさせています。 ソルバーをFor文で10000回以上回すマクロで、回し始めは一回ソルバーが回るのに1.5秒くらいなのですが、途中からいきなり問題を定式化する時間が長くなってしまう現象が起こります。 この現象が起こるときと起こらないときがあり、原因が分からず困っています。どなたか原因と対策を教えていただけないでしょうか? OS:Windows XP CPU:AMD Athlon(tm) 64 Processor 3500+ 2.19GHz メモリ:512MB RAM Excel:Excel 2003

noname#47055
noname#47055

みんなの回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 Excelに、物理的メモリにはほとんど影響はないはずです。Excelは、仮想メモリを使っていますが、それ自体は、マクロの速い遅いという問題は、複雑な計算を使っているとか、オブジェクトを敷き詰めているとか、よほどのことがない限りは、影響は出てこないと思います。 ただ、遅い現象には、グラフィックカード 側に問題があることがあります。 画面は停止させていますか? それと、 >ソルバーをFor文で10000回以上回すマクロで、 なぜ、ソルバー自体をループで、1万回以上も回すのか、実験的にはありえることかもしれませんが、実務的には限界を超えているような気がします。 おそらく、セルでは、数十億以上の回数の入力が行われているはずです。 ソルバーは、もともと、旧式のマクロで、セルを対象にしたものですから、それほど回数を繰り替えすなら、最初からVBAマクロで、変数の中で行ったほうがよいではありませんか?物理的な入力回数と、論理的な代入の回数では、10倍以上のスピードが違うと思います。 確か、ソルバーは、Excel2003 では不具合も存在するということで、MSサイトでは、ソルバーのメーカーから、ソルバーを購入するように勧められていたと思います。

noname#79209
noname#79209
回答No.1

まったくの、当てずっぽうですが、 メモリ512MBだからツライのかも。 せめて、1GBぐらいに拡張することをお勧めします。 あとは、使わない常駐ソフトを切るとか...

関連するQ&A

  • エクセルのVBAのスピード

    エクセルでVBAを組み走らせると、時々(常にではありません)とてもスピードが遅くなる時があります。 Ctrl+Pauseを一回マクロを止めて、再度走らせると普通のスピードに戻ります。CPU使用率も50%程度ですし、メモリも約半分程度です。 環境は、 VISTA AMD Athlon(tm)64*2 Dual Processor 4200+ 2.20G メモリ 2G エクセル2007 です。 ただ単に、プロシージャの書き方に無駄が多いのかもしれませんが。。。 よろしくお願いいたします。

  • CPUの種類について教えてください。

    NEC DIRECTのカスタマイズでCPUを選べるようになっているのですが、 ・AMD Athlon(TM)64X2 プロセッサ3800+ ・AMD Athlon(TM)64X2 プロセッサ4200+ ・AMD Athlon(TM)64X2 プロセッサ3700+ ・AMD Sempron(TM) プロセッサ 3200+ ・AMD Sempron(TM) プロセッサ 3400+ と選べるのですが、どれがいいのかいろいろ検索をしてみたのですが、 どれがいいものなのかが分かりません。 アドバイスをいただけないでしょうか? パソコンの使用はメールやインターネット位でゲームなどはしません。 どうぞよろしくお願いいたします。

  • AMDのCPUをIntelのそれに例えるなら

    AMD Athlon(TM) 64x2 デュアルコア・プロセッサ 5200+ AMD Athlon(TM) 64x2 デュアルコア・プロセッサ 4600+ はintleのCPUに例えるとなにに当たると思いますか?

  • CPUの違い

    AMD Athlon(TM) 64x2 デュアルコア・プロセッサ とAMD Live テクノロジー AMD Athlon(TM) 64x2 デュアルコア・プロセッサ の違いはなんですか?値段は同じなんですがいまいちわかりません。

  • ソルバーのマクロ組み込みについて

    2つ質問がございます。 一つはExcel2003にてソルバーをマクロに組み込みたく、Visual Basicのツール>参照設定>参照にいきsolver.xlaのファイルを探せど見つからずに困っております。 二つ目は、過去の質問(質問者:Curtis様。参照:http://okwave.jp/qa350463.html)で 「Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。 例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。」 とありますが、上記の内容をVBAでプログラムを組み、自動化することは実際可能なのでしょうか?可能であればどのように組むのでしょうか? ご面倒とは思いますがよろしくお願い致します。

  • クロック数?

    マイコンピュータのシステムのプロパティーを見ると、以下のように表示されます。 AMD Athlon(tm)64 Processor 3700+ 1.97Ghz , 1.00 GB RAM ~~~~~~~~ ↑ この部分の表示が見るたびに変わるのですが、なぜですか?

  • Excelフォルダ名の途中でスペース

    Excelフォルダ名の途中でスペース ■みなさん、こんにちは。いつも回答頂きありがとうございます。 ********************************************************************* * <大宇宙 です。 * 発信機種:(NEC VALUESTAR VL750R750 WindowsMe 4.90.3000 Anthentic * * AMD Athlon(tm) Processor 512.0MB RAM Yahoo! BB ADSL Modem) * *********************************************************************  デスクトップアイコンに(マイコンピュータ)があります。  これをダブルクリックして C:\My Documents\送信テスト.doc  にたどり着き、ファイルアイコンをダブルクリックします。  Word2000 が、起動して送信テストの内部が表示されます。次に、 C:\My Documents\Excel\ABC.xls をダブルクリックします。  Excel2000 が、起動して以下のメッセージがでます。 'C:\My.xls'が、見つかりません。ファイル名及びファイルの保存場所が正しいかどうか確認してください。  (OK)  (OK)を押す。以下のメッセージがでます。 'Documents\Excel\ABC.xls'が、見つかりません。ファイル名及びファイルの保存場所が正しいかどうか確認してください。  (OK)  (OK)を押す。初めてABC.xlsが、開きます。  エラーの原因は、  My Documents  のフォルダ名の途中でスペースが入っているせいだと推量します。このエラーが出ないようにするには、どのようにすればよいのでしょうか?  Windows95でExcel97を起動するときも、同様のエラーがでます。同じ原因で無いかと思量しています。  ご教授方よろしくお願いします。      敬具

  • Windows Vistaでグラボの対応

    ATI Radeon™ 9600 128MBではWindows Vista Home Premium で大丈夫ですか? ちなみにAMD Athlon(tm)64 Processor 3000+ AT/AT COMPATIBLE 1,048,048KB RAMでRaidを組んでいます

  • 動きがすごく遅い PCがすごく重いです

    NEC VALUESTAR VL500/2  AMD Athlon(tm) Processor  946Mhz、240 MB RAM スペックがこの通りで、起動からなにから全てにおいて動作が遅いです。 約4年使ってますが、動作を軽くする方法はありますでしょうか?

  • Excelのsolver実行の手間を省きたい

    Excel2000上でソルバーを使って関数のパラメータの最適値を求める作業をできるだけ自動的にできないでしょうか。 例えば、関数が一つだとしても、それを当てはめるべきデータのリストが100個あれば、ソルバーを手作業で100回実行しなければなりません。特に同じワークシートのなかで全ての作業を済ませようとすると、1回ごとに「目的セル」や「変化させるセル」を指定しなければなりません。当てはめを行うワークシートを独立に用意すればソルバーの実行自体は簡単になるかもしれませんが、そこにデータリストをコピーし結果をどこかに保存する手間がかかります。さらに、エクセルのマクロではソルバーは使えないと聞いております。なんとかならないものでしょうか。(OS:WindowsME)

専門家に質問してみよう