![]()  | 
    
    ||
| 
			
			
			
			 *停權中*  
			
		
			
			
			加入日期: 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 編輯.  | 
| 
      
				 |