[問題] 跑macro時,不能同時使用其他算表?

作者: sagwow (不是我)   2021-07-12 22:23:07
(若是和其他不同軟體互動之問題 請記得一併填寫)
軟體: Excel
版本:
因為工作上有個任務要每週做report,而且資料量較大,
我就寫了個macro讓它自己跑,整個程式跑完約30分鐘。
不過我在跑程式的這段時間,excel會整個卡住不能使用,
連沒有在跑macro的其他excel檔案也不能用。
不確定這樣是正常的,還是因為電腦本身不夠力才這樣?
因為不能同步進行其他工作的話,好像跟自己手動做,花的時間是一樣的…QQ
謝謝
作者: newacc (XD)   2021-07-12 22:57:00
剛寫了一個do while t<60s的程式來測試,發現如果執行VBA時已經存在的視窗會一起當掉,但是它們都當掉的時候可以再開新的視窗,而在工作管理員的處理程序清單中會顯示成2個不同的excel程式。原本的當掉,但新開的可以用,不過如果原本就已經開啟的檔案,沒辦法再重開第二次。另外不確定您對VBA的熟悉程度如何,可以試著優化程式碼,減少不必要的select、避免多層迴圈、避免讀取儲存格內容儘量把資料一次大量寫進變數中,對變數進行運算操作,最後再寫回儲存格中,可以用記憶體的用量減少等待讀取的時間剛google到的方法,可以強迫開啟一個新的excel程序win key+R,輸入excel.exe /x再由新的這個excel開啟含VBA的檔案,如此只有這個檔案會當掉,而不會影響其他已經開啟的excel檔
作者: a24626296 (DD)   2021-07-17 23:17:00
哇靠,不能想像要跑30分鐘的資料量
作者: Becque (....)   2021-07-22 11:29:00
程式碼優化過後會省下很多時間..

Links booklink

Contact Us: admin [ a t ] ucptt.com