PCDVD數位科技討論區
PCDVD數位科技討論區   註冊 常見問題 標記討論區為已讀

回到   PCDVD數位科技討論區 > 其他群組 > 七嘴八舌異言堂
帳戶
密碼
 

  回應
 
主題工具
*停權中*
 

加入日期: Jul 2012
文章: 6
如何在電腦上同時跑多個巨集

Google找不到這個問題
我有個VBA寫的程式.是個模擬器, 我已把輸入的參數範圍切割成好幾個段落分開跑,
每個段落大概要跑24小時左右,
但我發現Excel在執行時只會佔用25%(四核心電腦)
也就是有75%是閒置的
所以我就想乾脆能否多開三個Excel同時多跑幾個段落,這樣會快些
但發現Excel一旦在跑巨集時,整個程式就鎖住了,根本不讓我開第二個,
有人有辦法解決嗎?
     
      
舊 2013-07-11, 02:00 PM #1
回應時引用此文章
小書僮離線中  
*停權中*
 

加入日期: Sep 2010
文章: 691
 
舊 2013-07-11, 02:08 PM #2
回應時引用此文章
T磨人離線中  
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
我只會手動的方式.

先從程式集開啟四個Excel空白程式
再各自開啟含巨集的.xls檔案
到工作管理員, 對著 Excel.exe按右鍵, 指定要使用CPU核心
這樣就可以同時讓四個核心跑巨集

不過如果程式要跑這麼久, 用正規程式語言跑multi thread不是比較好?
舊 2013-07-11, 11:43 PM #3
回應時引用此文章
sazabijiang離線中  
*停權中*
 

加入日期: Jul 2012
文章: 6
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩
另外你的方法不行喔
當你開了四格excel後按下第一個巨集執行時
整個excel就鎖住了

引用:
作者sazabijiang
我只會手動的方式.

先從程式集開啟四個Excel空白程式
再各自開啟含巨集的.xls檔案
到工作管理員, 對著 Excel.exe按右鍵, 指定要使用CPU核心
這樣就可以同時讓四個核心跑巨集

不過如果程式要跑這麼久, 用正規程式語言跑multi thread不是比較好?
舊 2013-07-11, 11:49 PM #4
回應時引用此文章
小書僮離線中  
Junior Member
 
bestbuy的大頭照
 

加入日期: Jul 2002
您的住址: Calgary, Canada
文章: 931
引用:
作者小書僮
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩
另外你的方法不行喔
當你開了四格excel後按下第一個巨集執行時
整個excel就鎖住了


殺雞用牛刀, 開 VM 跑

不過我想應該有更好的辦法吧
__________________
舊 2013-07-11, 11:54 PM #5
回應時引用此文章
bestbuy離線中  
Amateur Member
 

加入日期: Dec 2001
您的住址: 風月大陸
文章: 38
引用:
作者小書僮
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩
另外你的方法不行喔
當你開了四格excel後按下第一個巨集執行時
整個excel就鎖住了


可以用sleep
方法請參考2樓的網址
舊 2013-07-12, 07:15 AM #6
回應時引用此文章
leeno5離線中  
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
引用:
作者小書僮
這模擬器有用到Excel的很多功能
用其他語言硬幹,會非常麻煩
另外你的方法不行喔
當你開了四格excel後按下第一個巨集執行時
整個excel就鎖住了


真的嗎? 我剛又測試了一下
兩個Excel的巨集會各自執行沒問題
請問你是先開啟四個"獨立"Excel程式嗎?

所謂獨立, 就是按Alt+F4關閉其中一個Excel時
其他Excel不會連帶一起自動關閉

如果是在檔案總管內直接點兩下檔案
這樣所有的 .xls會用同一個Excel程式來執行

此文章於 2013-07-12 09:28 PM 被 sazabijiang 編輯.
舊 2013-07-12, 09:21 PM #7
回應時引用此文章
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
舊 2013-07-12, 09:46 PM #8
回應時引用此文章
h12200離線中  
*停權中*
 

加入日期: Sep 2004
您的住址: 台北
文章: 8
有影片有真相
[YOUTUBE]dM7s2JjQgyw[/YOUTUBE]
舊 2013-07-12, 09:55 PM #9
回應時引用此文章
sazabijiang離線中  
Regular Member
 

加入日期: Feb 2003
文章: 57
excel 2007 有多執行緒的選項
上傳的圖像
文件類型: jpg excel.jpg (94.8 KB, 131次瀏覽)

此文章於 2013-07-12 10:01 PM 被 h12200 編輯.
舊 2013-07-12, 09:59 PM #10
回應時引用此文章
h12200離線中  


    回應


POPIN
主題工具

發表文章規則
不可以發起新主題
不可以回應主題
不可以上傳附加檔案
不可以編輯您的文章

vB 代碼打開
[IMG]代碼打開
HTML代碼關閉



所有的時間均為GMT +8。 現在的時間是04:57 AM.


vBulletin Version 3.0.1
powered_by_vbulletin 2025。

-->