• 締切済み

Excel2010のマルチスレッド機能について

Excel2010を利用していて、マクロを使って処理を行っています。 自分のPCはCPUがマルチコアで4つあるのですが、 マクロの処理をしている間、タスクマネージャーを確認すると、 CPUを1つしか使用されておらず、1つだけCPU使用率が100%近い状態が維持され、 他の3つはほぼ0%となっています。 できれば、4つすべてを利用し、処理を早くしたいと考えています。 できましたらお力添えをお願いします。

みんなの回答

  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

VBAはシングルスレッドなので、高尚な事をしないとマルチコアの恩恵にはあずかれないみたいです。 http://q.hatena.ne.jp/1310989651 複数スレッドに対応するアドイン(XLL)をC++で開発するとか、 深く読んでないですが、Excel-DNA なるツールを使うとかする必要がある様です。 従来と頭を切り換えて、配列数式を活用するとマルチコアの恩恵にあずかれるのではないかと思っていますが、まだ試した事はありません。 勤務先のPCが漸くWindows7機に更新されますが、安いCeleronも2コア位にはなっているんでしょうかね...

gs08002
質問者

お礼

遅くなり申し訳ありません。 やはり簡単には難しいみたいですね。 ありがとうございました。

関連するQ&A

  • EXCEL2000 VBA Core2Quadの4つのコアをすべて使ってマクロを実行したい

    いつもお世話になっております。 タイトルの通り、EXCEL2000 VBAでCore2Quadの4つのコアをすべて使ってマクロを実行したいのですが、可能でしょうか。 これまでPen4 1.51GHzのPCを使っていたのですが処理速度が遅いため、新しくCore2Quad搭載のPCを購入しました。 旧PCで処理に長時間掛かるマクロを実行したところ、CPU使用率25%となっており、タスクマネージャで確認したところ1つのコアしか使っていないようです。 せっかく高いお金を出して購入したのにこれでは宝の持ち腐れです。 よろしくお願いいたします。

  • デュアルコアCPUのマルチスレッド処理について

    デュアルコアCPUにおけるマルチスレッドの処理について質問です。 ハイパースレッドをオフにしデュアルコアの CPU を 4 つ乗せた。 本来であれば、 8 CPU で処理が行なわれるはずであり、別途プロセスが立ち上がっての処理の場合は問題なく処理が行なわれているのだが、マルチスレッドにて処理を行なった場合、各 CPU の片側のみで処理が行なわれてしまう。(タスクマネージャーにて使用率を確認) この現象についてそれぞれのCPUを効率的に使う方法として、何か御座いましたらご教示頂きたく存じます。 宜しく御願い致します。

  • Excel マクロの実行が途中で止まり(応答なし)になるのですが・・・

    単純な1行おきに色を付けるマクロなのですが、 実行すると400件位は処理するのですが、そこで固まってしまいます。 1.5MB のデータで15000件位あります。 タスクマネージャのCPU使用率は100%になってます。 どのように対応すればよいか、ご教授お願いします。

  • 今時ですが…

    永らくネットに繋いでいなかったため、更新したところ、大変重いので、タスクマネージャー上で確認したところ、CPUが常に40以上、メモリ使用料は最大5Gまであがりました。ウイルス等は総て潰してあります。念のためにタスクマネージャーより高性能なものも入ってますが、改善されません。どうか皆様のお力添えをお願いします。

  • CPU使用率が50%しか使用していなく、異常なのかなと思うのですが、如何なのでしょうか?

    エンコード(ISO→.avi)中にタスクマネージャーでCPU使用率を確認したところ、CPU使用率が50%しか使用していなく、異常なのかなと思うのですが、如何なのでしょうか? 一つが遊んでいる状態です。 ■構成 CPU : core2duo E7200 (定格使用) RAM : 1G*2 M/B : GIGABYTE GA-EP35-DS4 エンコソフトは、HandBrake を使用しているのですが、ソフトがマルチコアに対応していないためこのような状態なのでしょうか? お詳しい方いらっしゃいましたら、どうぞ宜しくお願い致します。

  • CPU利用率100%

    ノートパソコンを使用していますが 1時間ほど使用していると急に動作が遅くなり タスクマネージャで確認をするとCPU利用率が100%となっています。 使用しているのは、InternetExplorerやWord・Excel等ぐらいで 特に重い処理をしているわけではありませんが、 ノートパソコンの底辺が異常に熱くなっています。 これは、故障でしょうか? また、故障でなければどちらを確認すればいいのでしょうか?

  • Windows7によるCPUの使い方

    Windows7によるCPUの使い方 うちのPCには、Intel Core i7 950が入っています。 OSは、WindowsXP Pro SP3です。 このCPUをフル活動するような使い方をしているわけでもなく、単なる自己満足で、タスクマネージャのCPU使用率の履歴に8個分並んでいるのを見ながら悦に浸っている程度です。 当然といえば当然ですが、8個すべてが使われていることはありません。 勿体無いな~とは思っても、これをフル活用するような使い方を思いつかないものですから仕方ありません。 重いといわれるゲームをしても、せいぜい2、3個程度しか動いておらず、このCPUに変えてからCPU使用率100%になったところも見たことがありません。 でも、単純な作業やゲームでも常に8個(実際は4個ですが)で分担して仕事してくれれば、もう少し処理が早くなってくれるんじゃないかな~?とちょっと不満に思ってたりもします。 そこでふと思ったのが、OSを変えたらどうだろう?ということです。 XPなんてマルチコアの前からあるOSですから、マルチコアを操るのは苦手でアプリケーションまかせなのかも? 7ならマルチコアを全盛の時代に出たOSですから得意で、アプリケーションがマルチに対応してなくても、OS側で各コアに自動で割り振って効率よく仕事してくれるのでは? という妄想にふけっています。 実際のところはどうなんでしょうか? 要求される必要スペックは7の方が高いですが、XPよりも軽いという話も聞きますし、こういったところが影響してのかな?と思ってしまいます。 CPUの使い方はXPと変わりないですか?

  • Core2DuoのCPUについて

    以下のスペックの2台のノートパソコンがあります。 (1)Intel PentiumM 1.86Gz 1.00GB RAM (2)Intel Core2DuoCPU U7600 1.20GHz 1.20GHz 2.00GB RAM (コントロールパネルの「システム」に書かれていた情報です) とあるエクセルファイルのマクロを実行すると、 (1)のPCでは20秒かかるのですが、(2)のPCだと75秒かかります。 Core2Duoの効果がどのようなものなのかよくわからないのですが、 1.86GzのCPU1個と、1.20GHzのCore2Duoだと、1.86GHzの方がずっと処理が早いのでしょうか(他にも色々要因はあると思いますが)。 なお、(1)はWindowsXP+Excel2003で、(2)はWindowsVista+Excel2007です。 (2)はOSやアプリケーションを動かすだけで精一杯なんでしょうか。 タスクマネージャでCPU使用率を見ていると、 (1)のPCはマクロ実行中は常に100%使って処理をしているのですが、 (2)のPCは、CPU使用率の窓が2つあり(Core2Duoだからですか?)、両方とも60%前後しか使用していません。 なぜ100%にならないのでしょうか。 100%使うことが良いことなのかわかりませんが、 60%しか使わずに75秒も処理時間がかかっているところを見ると、どうもサボっている印象を受けます。

  • パソコンの挙動が遅いときのタスクマネージャーについて

    タスクマネージャーとパソコンの処理ついての質問です。 1.最近パソコンの挙動が遅いとき、タスクマネージャーを起動すると、  それまで鈍かったパソコンの動作が急に速くなり、嘘のように快適にパソコンが 使えることがあります。  これはタスクマネージャーを起動することにより、パソコンの内部処理が適切に  行われるようになった結果なのでしょうか?  それともこの現象は自分がそう思っているだけであり、実際はたまたまそうなっ  ただけで、論理的には最近パソコンの挙動が遅いときにタスクマネージャー   を起動しても処理時間は変わらないのでしょうか? 2.タスクマネージャーで確認したところ、CPU使用率、メモリ使用率が低いとき  (30%以下など)でもパソコンの挙動が遅いことがありますが、これはいったい何 が原因なのでしょう。 以上、よろしくお願いします 当方のパソコンのスペック OS:WindowsXP SP3 HDD:1TB CPU:core 2 duo E8500 メモリ:4G あくまで経験的なもので

  • マルチコアについて

    こんばんは。 マルチコアCPUについてご質問です。 シングルCPU時に、処理待ちが原因でパフォーマンスが悪い場合には、 マルチコアにした方が改善されるとイメージしてます。 ただCPU処理待ちが無い場合、 例えばシングルCPUでCPU使用率が100%だった。それでデュアルに したら処理は高速化されるだろう、、と考えるのは間違いでしょうか?。 ※CPU使用率も50%くらいになるのでしょうか?。 クロック数を上げるのと同様に、デュアルにすれば 処理の高速化は見込めるのでしょうか。。 お手数ですがアドバイスお願いします。

専門家に質問してみよう