[問題] Excel VBA 大量開啟關閉文字檔效能差

看板Programming作者 (魯蛇第一名)時間7年前 (2017/10/12 19:37), 編輯推噓2(203)
留言5則, 3人參與, 7年前最新討論串1/1
各位大大好,小弟目前用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

10/12 22:55, 7年前 , 1F
試試先用一行把文字檔所有內容抓到,再做運
10/12 22:55, 1F

10/12 22:56, 7年前 , 2F
不熟VBA,只是覺得那麼頻繁開關檔案不好
10/12 22:56, 2F

10/14 01:52, 7年前 , 3F
IO卡住了吧,先把同檔案的資料整理一起再
10/14 01:52, 3F

10/14 01:52, 7年前 , 4F
開檔做事看看
10/14 01:52, 4F

10/20 11:19, 7年前 , 5F
是開啟同一個文字檔還是有不同的文字檔
10/20 11:19, 5F
文章代碼(AID): #1PtrFxfa (Programming)
文章代碼(AID): #1PtrFxfa (Programming)