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

作者: omc (魯蛇第一名)   2017-10-12 19:37:29
各位大大好,小弟目前用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%以下
不知道是否有什麼樣的辦法可以加快速度呢?
謝謝各位大大!

Links booklink

Contact Us: admin [ a t ] ucptt.com