VBAでマルチタスク処理を行いたいのですね。
広告
結論から言えば出来ないようです。
おそらくここで言っているマルチタスクとは、マルチスレッドの事を言っているのだと思います。
マルチスレッドを実現させるためには、プログラムが並列して動くような作りにしなくてはなりません。
VBAでは仕様上難しそうです。
実行用に機械語を作る事ができず、中間コードを作るだけなので並列化は厳しいようです。
マルチタスクなら、Excelのブックをいくつか立ち上げて重いマクロを実行しましょう。それなら可能と思いますが、現実はそのような作業は少ないでしょうし。
最近のCPUは、マルチコアのものが大半ですが、なかなかそれを生かし切る事ができる用途は限られています。
でもOSやアプリケーションソフトの中では、それを生かしている部分もあると思うので無駄ではないでしょう。
Windows10が比較的軽いのも、マルチコアの恩恵を受けていると思われます。
VBAでマルチコアを生かせないのは残念ですが、そこまで期待しても仕方がないでしょう。
広告