![]() |
||
*停權中*
加入日期: Jul 2012
文章: 6
|
如何在電腦上同時跑多個巨集
Google找不到這個問題
我有個VBA寫的程式.是個模擬器, 我已把輸入的參數範圍切割成好幾個段落分開跑, 每個段落大概要跑24小時左右, 但我發現Excel在執行時只會佔用25%(四核心電腦) 也就是有75%是閒置的 所以我就想乾脆能否多開三個Excel同時多跑幾個段落,這樣會快些 但發現Excel一旦在跑巨集時,整個程式就鎖住了,根本不讓我開第二個, 有人有辦法解決嗎? |
|||||||
![]() |
![]() |
*停權中*
加入日期: Sep 2010
文章: 691
|
|
||
![]() |
![]() |
*停權中*
加入日期: Sep 2004 您的住址: 台北
文章: 8
|
我只會手動的方式.
先從程式集開啟四個Excel空白程式 再各自開啟含巨集的.xls檔案 到工作管理員, 對著 Excel.exe按右鍵, 指定要使用CPU核心 這樣就可以同時讓四個核心跑巨集 不過如果程式要跑這麼久, 用正規程式語言跑multi thread不是比較好? |
![]() |
![]() |
*停權中*
加入日期: Jul 2012
文章: 6
|
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩 另外你的方法不行喔 當你開了四格excel後按下第一個巨集執行時 整個excel就鎖住了 引用:
|
|
![]() |
![]() |
Junior Member
![]() ![]() ![]() 加入日期: Jul 2002 您的住址: Calgary, Canada
文章: 931
|
引用:
殺雞用牛刀, 開 VM 跑 ![]() 不過我想應該有更好的辦法吧 ![]()
__________________
![]() |
|
![]() |
![]() |
Amateur Member
![]() 加入日期: Dec 2001 您的住址: 風月大陸
文章: 38
|
引用:
可以用sleep 方法請參考2樓的網址 |
|
![]() |
![]() |
*停權中*
加入日期: Sep 2004 您的住址: 台北
文章: 8
|
引用:
真的嗎? 我剛又測試了一下 兩個Excel的巨集會各自執行沒問題 請問你是先開啟四個"獨立"Excel程式嗎? 所謂獨立, 就是按Alt+F4關閉其中一個Excel時 其他Excel不會連帶一起自動關閉 如果是在檔案總管內直接點兩下檔案 這樣所有的 .xls會用同一個Excel程式來執行 此文章於 2013-07-12 09:28 PM 被 sazabijiang 編輯. |
|
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2003
文章: 57
|
我以前要處理這種問題時
是直接用 vb 寫程式呼叫excel 函式,做成執行檔 只要電腦夠強,愛開幾個都行 不過您vba已經寫好就不適合了,如果沒有一定的程式能力 要改成vb外部呼叫,可是大工程 剛剛查一下資料,發現excel 2007(或更新),有一個新功能 "多執行緒計算" 這樣只要開一個excel ,讓excel 自己去分配核心計算 我沒試過這個方法,所以請自行參考微軟說明 http://msdn.microsoft.com/zh-tw/library/office/bb687899(v=office.14).aspx |
![]() |
![]() |
*停權中*
加入日期: Sep 2004 您的住址: 台北
文章: 8
|
有影片有真相
[YOUTUBE]dM7s2JjQgyw[/YOUTUBE] ![]() ![]() ![]() ![]() |
![]() |
![]() |
Regular Member
![]() ![]() 加入日期: Feb 2003
文章: 57
|
excel 2007 有多執行緒的選項
此文章於 2013-07-12 10:01 PM 被 h12200 編輯. |
![]() |
![]() |