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