• ベストアンサー

エクセルで下記の処理を行うために、どの程度のスペックでPCを構成すればよいですか?

エクセル2002を使ってデータ処理をしているのですが、 処理の途中で「リソース不足です」という表示がされ、作業がとまってしまいます。(その後実行し続けても、ほとんど「応答なし」になってしまいます。) そこで、メモリ増設、あるいは、新たなPC導入を検討しているのですが、どれくらいのスペックでCPU、メモリ等を構成すればよいのか、経験不足の為にわかりません。最高のスペックで構成する手もありますが、費用をなるべく抑えたいため、下記の処理を遂行するのにだいたいどれくらいのスペックにすればよいのか、教えていただきたいです。 作業の内容ですが、 エクセルで、縦3000~5000行、横240列分ぐらいのデータを関数で計算させたり、コピーしたり、数式貼り付け・値貼り付けをしたりする作業を、VBAのFor文などで値を変えて、何十回もぐるぐる回します。 ちなみに現在使っているPCのスペックですが、自作機で CPU  Pentium4  2.41GHz メモリ  768MB DDR-SDRAM HDD  80GB (ちなみにエクセルは2002) です。 私より経験豊富な皆様のアドバイスが必要です。 ご回答よろしくお願いします。

質問者が選んだベストアンサー

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

こんにちは。 当面の問題点と解決案を書いておきます。 ※マクロについて これは経験がないのですが、Selection が、めまぐるしく動いているようです。時々、Selection やSelect は、なくさなくてはならない指摘をする人がいますが、それだけでは、根拠のある説明にはなっていません。 Selectionは、Excel VBAでは、汎用性がありすぎることと、特殊な環境でエラーを出すことがあること、コードが1行で済むのが、何行にも渡り無駄が生じることがあるからです。ただし、今回の問題に直接関係しているか分からないです。 しかし、 Sheets("ROR").Select Sheets("Rank").Select Sheets("MA").Select Sheets("MAK").Select としていますが、本来、Select する必要性はありませんが、今のコードでは大手術になってしまいます。直せると思いますが、実際の画面のない状態では、手探り状態になってしまい手間が掛かりそうですから、今回の修正だけしてみてください。 特に、ループの中では、 >Application.ScreenUpdating = True >Application.ScreenUpdating = False こうしたい気持ちは良く分かるのですが、なるべく避けたほうがよいです。 おそらく、シートの Select と Application.ScreenUpdating = True で、ループの中で一気に、数式の計算を清算しようとしているような気がしています。 最初で、以下のように入れたら、ループの中には入れない。 ループの外で出す。 Sub Test1() Application.ScreenUpdating = False 'Application.DisplayAlerts = False   '←必要があるか分からない Application.Calculation = xlManual For .... For .... 'ループ Next Y Next X Application.Calculation = xlAutomatic Application.ScreenUpdating = False このようにしてみたら、いかがでしょうか? '-------------------------------- >間違った認識のままメモリをやたらと増設せず かなり細かい話になるのですが、Excelに関するメモリには、以下のようなものがあります。私が理解している範囲ですと、これらは、別々の割り当てのようです。多く取れるものもあれば、少なくて、すぐに底がついてしまうものとかあります。仮想メモリを使用しているのですが、あまり、私としては、この部分のシステムをいじりたくないですね。いじっても、問題になっている部分に関しては、あまり改良されないような気がします。 今回の場合は、「数式-」と「全シートの計算過程」という問題があると思います。 今回は、計算イベントを、Caluculation = xlManual で対処してみたのです。 ○ Excelで消費するメモリ ・書式設定の種類 * 数式-特に揮発性関数が、計算イベント時に使用されるメモリ ・オブジェクト類(画像などのこと) ・フォントの種類 * 全シートの計算過程で使用するメモリ ・VBAのモジュールを格納する各々のプロシージャ ・ActiveX コントロールに使用されるメモリ ・アドイン、COM、プリンタドライバ ・Excelで使われるユーティリティソフト ・外部参照で使用されるメモリ ・VRAM メモリ

yoshikijpn
質問者

お礼

ご回答ありがとうございます。 Wendy02さんのアドバイスを参考にさせていただき、 試行錯誤してマクロを改良してやると、時間はかかるものの、処理を完遂することができました。 この度は、 ご丁寧に細かいところまでご指導いただき、感謝です。 ありがとうございました!!

その他の回答 (2)

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

こんばんは。 VBAと書かれていますが、掲示板に挙げられないほどのコードではありませんか?そういうコードは、典型的なミスがあることが多いです。 もし、出来れば、コードを出してみてください。 もしそうなると、最初から、作り直したほうがよいかもしれません。 >エクセルで、縦3000~5000行、横240列分ぐらいのデータを関数で計算させたり、コピーしたり、数式貼り付け・値貼り付けをしたりする作業を、VBAのFor文などで値を変えて、何十回もぐるぐる回します。 ループの中で、オブジェクトの設定(Set aaa =....) は、してはいませんか? それと、解放せずに、どんどん重ねてしまうと「リソース不足」になります。 簡単なVBAのチェックは、プロシージャのひとつは、100行程度までに留めることです。それ以上は、なんらかに問題を抱えていることが多いです。 >データを関数で計算させたり、コピーしたり データを計算というのはよいのですが、マクロの中で、数式がまとめられていないとトラブルを起こします。よほど自己流の人しか、そのようなことにはならないのですが、一度だけ、そういう相談を受けたことがあります。 VBE の数式が、常に、ワークシートとの関連性をチェックし始めますので、それだけでメモリの消費量がバカになりません。 誤解している方が多いのですが、Excelのメモリというのは、PCの物理的なスペックとは別です。それだけに、いくらメモリを積んでも直接は解決しません。それと、Excelの場合は、OSに依存するよりも、遥かに、ソフトのバージョンの影響が強いです。しかし、Excel2002は、基本的には、昔のものよりも改善されていますので、もう、その部分では、基本的なメモリの問題は発生しないと考えてよいです。

yoshikijpn
質問者

お礼

ご回答ありがとうございます。 コードは下記の通り、至ってシンプルなものです。 Sub Test1() Application.ScreenUpdating = False Application.DisplayAlerts = False Sheets("ROR").Select '既存データ消去 Range("HW6:IB65536").ClearContents For X = 10 To 30 Step 10 For Y = 5 To 20 Step 5 Sheets("ROR").Select Range("HW2").Value = X Range("HY2").Value = Y Sheets("MA").Select Range("B6:HR6").Copy Range("B7").Select Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteFormulas Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Sheets("MAK").Select Range("B6:HR6").Copy Range("B7").Select Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteFormulas Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Sheets("Rank").Select Range("B6:HR6").Copy Range("B7").Select Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteFormulas Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Sheets("ROR").Select Range("B6:HU6").Copy Range("B7").Select Range(Selection, Selection.End(xlDown)).Select Selection.PasteSpecial Paste:=xlPasteFormulas Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues Application.Goto Reference:="Result" Selection.Copy Range("HW65536").Select Selection.End(xlUp).Select ActiveCell.Offset(1, 0).Range("A1").Select Selection.PasteSpecial Paste:=xlPasteValues Application.ScreenUpdating = True Application.ScreenUpdating = False Next Y Next X End Sub よろしくお願いします。

yoshikijpn
質問者

補足

文字数の制限があったため、再度投稿することになりました。 >誤解している方が多いのですが、Excelのメモリというのは、PCの物理的なスペックとは別です。それだけに、いくらメモリを積んでも直接は解決しません。それと、Excelの場合は、OSに依存するよりも、遥かに、ソフトのバージョンの影響が強いです。しかし、Excel2002は、基本的には、昔のものよりも改善されていますので、もう、その部分では、基本的なメモリの問題は発生しないと考えてよいです。 そうなんですね。間違った認識のままメモリをやたらと増設せずにすみました。感謝します。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.1

OSが98、MEではないのにリソース不足と出る場合は、メモリリークしているとか、常駐アプリや環境依存の問題。マシンパワーで解決するものではないです。 http://www.geocities.jp/le_grand_concierge/_geo_contents_/WinXPSystemResources/WinXPSystemResources.htm

yoshikijpn
質問者

お礼

ご回答ありがとうございます。 いただいたアドバイス参考にさせていただきます。

関連するQ&A

  • エクセルで下記データ処理をしたいのですが、どの程度のスペックでPCを構成すればいいでしょうか?

    エクセル2002を使ってデータ処理をしているのですが、 処理の途中で「リソース不足です」という表示がされ、作業がとまってしまいます。(その後実行し続けても、ほとんど「応答なし」になってしまいます。) そこで、メモリ増設、あるいは、新たなPC導入を検討しているのですが、どれくらいのスペックでCPU、メモリ等を構成すればよいのか、経験不足の為にわかりません。最高のスペックで構成する手もありますが、費用をなるべく抑えたいため、下記の処理を遂行するのにだいたいどれくらいのスペックにすればよいのか、教えていただきたいです。 作業の内容ですが、 エクセルで、縦5000行、横240行分ぐらいのデータを関数で計算させたり、コピーしたり、数式貼り付け、値貼り付けをしたりする作業を、VBAのFor文などで値を変えて、何十回もぐるぐる回します。 ちなみに現在使っているPCのスペックですが、自作機で CPU  Pentium4  2.41GHz メモリ  768MB DDR-SDRAM HDD  80GB (ちなみにエクセルは2002) です。 私より経験豊富な皆様のアドバイスが必要です。 ご回答よろしくお願いします。 私事で恐縮ですが、できればこの週末にケリをつけたいと思っております。

  • このPCのスペックと同等以上な構成が知りたいです

    VAIOノートのタイプC(14インチ)を持っています。 主な構成は以下の通りです。 OS:Vista(32bit) CPU:Core 2 Duo T8100 2.10GHz メモリ:2GB HDD:120GB 使い心地は、まずまずです。 サクサク快適とまではいきません。 起動・終了が遅いです。 Google Chromeを長時間使い続けるとメモリが厳しくなります。 PhotoShop Elementsは特に問題なく使えますが Premiere Elementsは少し処理が遅いです。 DVDを再生するとファンが猛烈に回り、しばらくして止まり、また回るの繰り返しです。 現在、新品のPC(ノートでもデスクトップでも構いません)を買う場合、 これと同等以上のスペックとなると、どういった構成になりますでしょうか? Celeronだと同等以上は難しいでしょうか? OSは7の64bitを選ぶとして、CPU、メモリ、その他ポイントがあれば 教えていただきたいと思っています。 詳しい方いらっしゃいましたら、何卒よろしくお願いします。

  • 統計実施にはどの程度のPCスペックがあればいい?

    ご閲覧ありがとうございます。 タイトル通りの質問をさせていただきます。 私は、PCのスペックに関してド素人なのですが、今後ExcelとフリーソフトRを使用した統計を行う可能性がでてきました。 そこで以下の作業をするにあたって、どの程度のPCスペック(CPUやメモリ容量)が必要なのかどうかを皆様お聞きしたく、質問致しました。 【行う可能性のある作業】 ・20列、20万行程度のExcelデータの整理 →上記データ整理にあたり、IF関数、VLOOKUP関数を中心的に使用し、いくつかのブックを並行して作業すると思われます ・Accessを使用したデータ管理、整理 →上記のExcelファイルの結合や、Excelでは処理できないデータ量の整理 ・フリー統計ソフトRを使用した、統計解析 以上3つの作業が中心になると考えられます。 上記以外には、ネットサーフィンやWordの使用、年賀状の作成、メーラーの使用、YOUTUBEの閲覧程度にしか使用しない方針です。 また素人的な観点から、これらの作業を行うにあたり、デスクトップPCで行う方が早くて快適であるとは思うのですが、仮にノートPCで行うことを想定した場合、 HP 14s-dk0000 AMD Ryzen5/8GBメモリ/256GB SSD/14型フルHD液晶搭載 スタンダードモデル ではどの程度の快適にできるものなのでしょうか。 色々とネットの情報を見て勉強しようとは思うのですが、 需要を考えれば当然ではありますが、大体の批評がPCゲームを行うにあたってのもので、 統計やデータ整理にあたってはどうなのかがわからず、こちらに相談させていただきました。 本当にド素人なので、お手柔らかにご教授いただければ幸いです。 よろしくお願い致します。

  • 画像処理に適したPCスペックは?

    デジカメ画像(できるだけ高画質)を加工するのに適したスペックとはどんなものでしょうか?現在私のPCはCPU Celelon1G,システムバスクロック100MHz,メモリ376MB(SDRAM PC133/CL3),HD 40GB(空き容量充分あり),OS XP-Homeです。スキャナで画像を取り込む時に、より高画質で取り込もうとすると「メモリ不足」のメッセージがでます。その他画像読み出し時や画像を回転する時なども遅く感じます。メモリをもっと増やしたほうがいいのでしょうか?(増やしてもさほど変わらない?)また、同じ376MBのメモリでもシステムバスクロック数の高いPCの方が画像処理がよりスムーズなんでしょうか?その他、画像処理がスムーズにいく方法などがあったら教えてください。

  • DVD焼く程度のスペック?!

    中古PCを購入したいと考えています。 メールやワード/エクセルする以外では、 DVDが焼ける程度のスペックがあれば十分と考えています。 今回、お聞きしたい内容は、 「これくらいあった方がいいよ!」というアドバイスです。 例) CPU(P3・P4…) メモリ(256・512…)などなど。 ※上を見ればホントに限りがありませんから、  快適に使える最低レベルということでお願いします。 ちなみに現在は、 Windows ME に 内蔵型DVD±RW(バッファロー)を組込んでいますが、 CPUやメモリが貧弱なようで、 (CPU550/メモリ256) DVD(映画など)をなんとか見ることはできますが、 DVDを焼くことは難しいレベルなのです。

  • PCのスペックについて

    OS XP CPU AMD Athlon64 X2 4200+ メモリ 2GB このスペックのPCをスペックアップさせて使うのと新しく買うのではどちらがいいと思いますか? スペックアップまたは買う場合でオススメの構成を教えて下さい。 使用目的 インターネット ゲーム(ロストプラネットなど)

  • PCを買おうと思いますが、構成に悩んでいます。

    私はネトゲやPCゲーム、動画のエンコード等にPCを使いますが、最近PCが少しスペック不足だと感じ、新調しようと思いました。 予算が14万円あって、長く使いたいのでSSDやらグラボやらいろいろ積んだ出来るだけ最善のスペックで構成したPCを、BTOで注文しようと思いました。 しかし、数年経つとハイスペックPCでもミドルスペックになってしまいますよね。 グラボだけ見ても、1年毎に1.2~3倍性能上がってますし。 2,3年前の14万程度のPCは、どのくらいのスペックだったのでしょうか? 注文しようとしたPCのスペックは、大まかに書くと GPU:GTX680 2GB CPU:core i-7 3770K メモリ:16GB DDR3 1333 SSD:120GB こんな感じです。詳細 http://todarinne.s14.xrea.com/ri/source/toda2462.jpg この構成はコストパフォーマンスは良いと言えるでしょうか? コストパフォーマンスでPCを組んだら、 GTX660TI corei-7 3470 メモリ8GB SSD80GB この程度のほうがいいのかもと思いましたが、長く使うことを考えるとどうかなぁと思います。 6万円でGTX680買うよりも、3万円でGTX660TIでも買って、数年経って性能不足になったらGTX700~800のミドルエンドGPUを買うほうがコストパフォーマンスはいいんでしょうね。たぶん。 PCの知識も文章力もあまりないので分かりづらく回答にも困る質問になってしまいましたが、助言してくれると助かります。 お願いします。

  • 人間はPCに置き換えるとどの程度のスペックがあるのでしょう?

    デスクトップPCとはあまり関係かもしれませんが それに関連しているかもと思いここに質問します 人間の脳は物事を理解・判断・想像・処理・・・・とまあ いろいろな機能を兼ね備えていますが これをPCに置き換えるとどの程度のスペックがあるもの なのでしょう?実際置き換えることはできませんから あくまで予測と言う事で。 例えば天才と呼ばれる部類のIQ180~200の知能指数を 兼ね備えた人間はCPUが~メモリが~等々 回答よろしくお願いします

  • PCのスペックの標準

    近頃ノートPCを買おうかと思ってるのですが、HDDやメモリやCPUなど、意味はわかるのですが2GBとか書かれててもそれが高いのか低いのかわかりません 最近のPCのスペックの標準の値っていうのはどれくらいなんでしょうか?

  • どの程度のスペックがいいか教えてください

    ニコ動、2Dエロゲ、ネット閲覧 これだけしか用途ないんですが今使っている6年前のCPUセレロン、メモリ1GBのノートPCだともう駄目です。 どの程度のスペックなら快適かなー? メモリは増設すればいいんで問題はCPUかな 現在のセレロンデュエルコアかi3くらいですか? デスクトップでもノートでもいいです。 PC高くなってますね

専門家に質問してみよう