none
ExcelでのVBA処理速度について RRS feed

  • שאלה

  • Excelで統計数値をVBAを利用して計算しています。VBAの記載が多数ネストされているため、処理にかかる時間がかかるのは当初の想定していましたが、VBAを書き換えるなど工夫しつつ、処理時間の短縮をしてきました。

    CPUより高性能なものにした場合、処理時間が短縮されると思い、高性能なCPUで計算したところ、あまり変化がありませんでした。

    そこでタスクマネージャーのパフォーマンスを開いたところ、一つのコアしか100%近く上がってなく、他コア(この場合4コア中3コア)では、ほとんど0%近くで推移していました。

    VBA処理等を行うときにマルチコアでの処理に対応する方法はないのでしょうか。


    • נערך על-ידי Noymann יום שלישי 26 נובמבר 2019 01:24
    יום שלישי 26 נובמבר 2019 00:37

כל התגובות

  • 「VBA マルチスレッド」でググればいくつも出てきますよ。
    VBAからVBScriptをCallする、逆にVBScriptからVBAをCallするなどの方法があるようですね。

    そのほかWorkbook.OpenやApplication.RunでApplication.OnTimeを行って疑似マルチスレッド化する方法もあるようです。

    頑張ってください

    יום שלישי 26 נובמבר 2019 01:49
  • Noymannさん、こんにちは。フォーラムオペレーターのFarenaです。

    TechNetフォーラムにご投稿くださいましてありがとうございます。

     

    問題を解決するためのより適切なチャネルである VBAサポートにお問い合わせいただくことをお勧めします

     

    https://social.msdn.microsoft.com/Forums/ja-JP/home?forum=vbajp

     

    適切な回答が得られやすくなること、後から検索で回答を探しやすくなる、といったメリットがあるためです。

    宜しくお願い致します。


    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    יום חמישי 28 נובמבר 2019 05:49
    מנחה דיון