作者omc (鲁蛇第一名)
看板Programming
标题[问题] Excel VBA 大量开启关闭文字档效能差
时间Thu Oct 12 19:37:29 2017
各位大大好,小弟目前用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://webptt.com/cn.aspx?n=bbs/Programming/M.1507808251.A.A64.html
1F:→ bcew: 试试先用一行把文字档所有内容抓到,再做运 42.76.231.233 10/12 22:55
2F:→ bcew: 不熟VBA,只是觉得那麽频繁开关档案不好 42.76.231.233 10/12 22:56
3F:推 s89227: IO卡住了吧,先把同档案的资料整理一起再 59.115.221.153 10/14 01:52
4F:→ s89227: 开档做事看看 59.115.221.153 10/14 01:52
5F:推 qcmi: 是开启同一个文字档还是有不同的文字档140.207.161.235 10/20 11:19