• 締切済み

パソコンの買い替え エクセル等VBAの処理を高速にしたい

hrkn-pの回答

  • hrkn-p
  • ベストアンサー率37% (68/182)
回答No.1

CPUが早く、メモリが潤沢な環境であれば、どんなPCでもかまいません。

ts_opts
質問者

お礼

hrkn-pさん ありがとうございます 簡潔にスパッと、とりあえず納得してしまいました。

関連するQ&A

  • エクセルVBAとは

    先日、富士通のテキストを使いエクセルVBAの講習を受けました。 講習ではエクセルの複数の操作は、VBAの方式で処理すると1つの 操作で簡単に結果が出るというものでした。 ここでお聞きしたいのは、1)このVBAの処理は操作が簡単になる からという理由でしょうか? VBA処理の大きな目的が解りません。 2)又、このVisual Basicとは日本語で何と訳すので しょうか? 宜しく御願いします。

  • VBAで高速にデータを処理するコツを教えてください

    いつもお世話になっております。 VBAのことで教えて欲しいことがあります。 EXCEL2000 VBAであるデータを処理するコードを作っています。 データ数は1万行×5列×6シート=30万です。 処理する際のパラメータの違いから、この30万個のデータをfor文を使って繰り返し処理します。 繰り返し回数は20万回です。 一回の処理に1秒かかるとすると1秒×20万回なので、2~3日かかります。 このデータを処理する速度の向上を考えています。 L1キャッシュ→L2キャッシュ→メインメモリ→HDD の順に処理速度(アクセス速度?)が遅くなると調べて分かりました。 30万個のデータを配列(メインメモリ?)に格納する方法は下記のようにすればいいと分かりました。 Dim myData as Variant myData = Worksheets("myData").range("A1:E10000") myDataから1行1列目のデータを取り出すのはmyData(1,1)でできると言うことも分かりました。 そこで質問です。 1.コードの記述により、メインメモリよりも高速なL1キャッシュ、L2キャッシュを意識して使うことはできるのでしょうか。 処理している間ずっと30万個のデータをL1,L2キャッシュに格納しておけば、メインメモリに格納しておくよりも高速に処理ができると単純に考えました。 2.私のPCはVista、Core2Quad Q9450、4GB DRAMです。 VBAでは4つのコアをすべて使って実行すること(CPU使用率100%)はできないと聞きました。 上記の処理を実行する時、1つのコアで処理させるのがいいのか、複数のコアで処理させるのがいいのか、プロセスの優先度はどうすべきか、など、コードの記述以外の方法で処理速度を上げる方法はあるのでしょうか。 3.処理速度を向上させるコツなどありますでしょうか。 4.VBA以外の言語なら4つのコアをフルパワーで使えるよ、というのがありましたら教えてください。 (C言語はそれに該当するというのは聞きました。) よろしくお願いいたします。

  • 【PowerPoint VBAの高速化】

    【PowerPoint VBAの高速化】 OfficeVersion:2007 OS:Win XP SP3 Excel(VBA)側でScreenUpdating=False⇒CreateObjectを使ってPowerPoint側にデータを出力 しています。 しかし、PowerPoint側の編集途中が見えており、そのせいか、処理がかなり遅いです。 最小化しても効果はありません。 ちなみに、2003ではScreenUpdating=Falseが効いているのかどうかわかりませんが、 編集途中は見えず(速くて見えてないだけかも)にPowerPointの出力結果が表示されます。 実行速度も比較にならないほど速いです。 Excel(VBA)ではScreenUpdating=False代わるものが、PowerPoint(VBA)にあるのかどうか 何方かご存じありませんか。

  • VB及びエクセルのVBAにて、

    VB及びエクセルのVBAにて、 300000行のCSVデータを読み込もうと試みました。 ファイルOpenで、Line InputやInputBを使用しましたが、 どちらもあまり処理速度は変わらないようです。 高速で1行ずつCSVデータを読み込む方法をご存じないでしょうか。 ご存知でしたら、関連するサイトを教えていただければ助かります。 お手数をおかけしますが、よろしくお願いします。

  • パソコン買い替え デスクトップ型を探しています

    WindowsXPサポート終了と、使用しているパソコンが10年を超えたので、買い替えを予定しています。 OSはWin7か8.1で(これは買う時に希望の物がない場合もあると思います。今はWin8が多いでしょうか)、デスクトップ(分離型)を購入予定です。 パソコンの使用目的は、 ネット閲覧、ネット買物、青色申告ソフトを使用しているので、日々の入力・申告書類作成、公共料金・カードの明細確認・印刷、年に1度フォトブックを作る(写真保存)です。 予算は7、8万位で買えれば…と思いメーカーサイトで探しているのですが、そんなに安くないと知りました。10~13万位はかかると思っています。 初めての買い替えなので、わからない事だらけです。以下について教えて下さい。 1、値段を考えるとBTOショップも選択肢のひとつだと思いますが、私はパソコンに詳しくありません(自分で修理する知識はありません)。 BTOショップでの購入は止めた方が良いでしょうか? 2、ディスプレイとキーボードも10年以上経ちますが、新しいパソコンに(メーカーが違っても)接続して使用できますか?   使用できれば値段を抑えられるのと、特に不具合が出たことがないので、廃棄せずに済めば助かります。 3、いくつかのメーカー直販サイトを見ているのですが、決めきれません。   お勧めやお使いのデスクトップ型パソコンがあれば、ぜひ教えて下さい。 宜しくお願い致します。

  • パソコンの買い替え

    そろそろパソコンの買い替えを検討中で どんなパソコンが良いか悩んでいます。 使用目的 ・ネットサーフィン ・ニコニコ動画やyoutubeの視聴 予算 6~8万ぐらい ちなみに、今現在はGatewayのデスクトップPCを使用していますが 使用用途を考えてノートPCでも良いかと思っています。

  • およそ8年ぶりの買い換え

    現在OSはWIN98SEを使っています。使用状況は、ネットショッピング・メールのやりとり・一太郎・エクセル・年賀状の作成などで、現状でもあまり困ることはありませんが、そろそろ買い換えを考えています。 そこで質問ですが、 (1)OSをXPやVISTAにした場合、今持っているソフトは使えなくなる のでしょうか。あるいは、一太郎やエクセルなどのソフトは使ってはい  けないのでしょうか? (2)使用目的は現状と変わらないとして、総額10万円まででデスクトップを 希望しますが、おすすめのショップなどがありましたら教えていた  だけないでしょうか。 ちなみに、12年ほど前にノートを価格コムを通して買ったことがありますが、その当時とは随分変わってしまっていてよくわかりません。 ダイレクトやアウトレット、BTOパソコンなどどこでも構いませんので、どうかよろしくお願いします。  

  • Cからエクセルを開く処理についてです。

     いつもお世話になっております。  Cからエクセルを起動してVBAで作成した処理を 走らせたいのです。  そこで質問なのですが、Cでエクセルを開くときの関数は 普通にfopen()を使用すれば良いのでしょうか?  他に特別な処理をしなければならないこと等あれば、 教えてください。よろしくお願いします。

  • Excel VBA でコピー&ペーストを何回もしているます。処理の途中

    Excel VBA でコピー&ペーストを何回もしているます。処理の途中で範囲選択が不可能になりその都度Excelを再起動して続きの処理をしています。コピー&ペーストで使用しているメモリ内部にゴミが溜まってしまうのが原因ではないかと推察しています。 どなたかExcel VBAのコピー&ペーストのメモリ領域開放の仕方を教えてください。

  • vba で全てのエクセルファイルを開く処理

    お世話になります。 下記のVBAソースで、特定のフォルダにあるエクセルを全て 開く処理をしているのですが、スマートに行えているか 疑問に思いました。 具体的には、「'''''''''時間がかかっている??」箇所で 無駄なこと・時間がかかっていないか疑問です。 目的としては、「vba で全てのエクセルファイルを開く処理」ですので、 (1)皆さんがされている「vba で全てのエクセルファイルを開く処理」 (2)下記ソースの「'''''''''時間がかかっている??」は時間がかかっていないか の、どちらかで、結構ですのでご返事頂ければ有り難いです。 宜しくお願いします。 ------------ソース----------------- ChDir (ThisWorkbook.Path & "\" & フォルダ) fileName = Dir("*.xls") Do While fileName <> "" If fileName <> ThisWorkbook.Name Then IsBookOpen = False '''''''''時間がかかっている?? For Each OpenedBook In Workbooks If OpenedBook.Name = fileName Then IsBookOpen = True Exit For End If Next '''''''''時間がかかっている?? If IsBookOpen = False Then Workbooks.Open (fileName) End If End If fileName = Dir() Loop