看板 Programming 關於我們 聯絡資訊
各位大大好,小弟目前用Excel 2016 VBA寫了一個陽春的程式 主要功能在於開啟文字檔後比對Excel某欄位與文字檔某行是否相符 不相符的話就跳下一行 符合的話就把該行到+n行的資料(n會在之前計算出來)貼到excel另一個sheet做計算 計算完畢後就關閉文字檔跳下一筆資料做一樣的事情, 直到該欄位最後一筆沒資料(如下) Do While ((Cells(k, 2).Value <> "") Or (Cells(k, 1).Value <> "")) 可是小弟發現當資料一多的時候(目前有4萬多筆), 等於我要開啟關閉文字檔4萬多次 (可能同一個檔案可能不同檔案) 然後把符合的資料貼到Excel四萬多次 這樣的情況下似乎Excel跑到大概10%以內就會停掉 (也不知道還有沒有在跑) CPU Loading大概都在15%,記憶體也在50%以下 不知道是否有什麼樣的辦法可以加快速度呢? 謝謝各位大大! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.12.183 ※ 文章網址: https://www.ptt.cc/bbs/Programming/M.1507808251.A.A64.html
bcew: 試試先用一行把文字檔所有內容抓到,再做運 42.76.231.233 10/12 22:55
bcew: 不熟VBA,只是覺得那麼頻繁開關檔案不好 42.76.231.233 10/12 22:56
s89227: IO卡住了吧,先把同檔案的資料整理一起再 59.115.221.153 10/14 01:52
s89227: 開檔做事看看 59.115.221.153 10/14 01:52
qcmi: 是開啟同一個文字檔還是有不同的文字檔140.207.161.235 10/20 11:19