我有一個VBA宏我已經寫了Excel 2003中它進口的其他文件數據的一些重大問題非常緩慢。結果是Excel文件的文件大小(行數/列數)隨着每個導入的文件而增加。在Excel 2003中,它對前50個導入的文件運行速度非常快,然後減慢速度。但對於Excel 2010,即使對於少量文件也需要相當長的時間。問題在於一次執行多次的語句:列/行操作(插入,刪除)在Excel 2010中
Sheets("Sheetname").Rows(LastRow).Insert Shift:=xlDown
當Excel 2010文件變大時,該行幾乎需要一秒鐘。當我手動添加一行時,我遇到了同樣的問題。
我做的事情通常一堆來提高性能:
Application.ScreenUpdating = False
Application.DisplayStatusBar = False
Application.Calculation = xlCalculationManual
Application.EnableEvents = False
ActiveSheet.DisplayPageBreaks = False
ActiveSheet.AutoFilterMode = False
在此先感謝您的幫助。我很確定別人已經有這個問題。
你能找到一種不使用該行插入的方法嗎?你如何添加新的信息? – 2011-03-22 16:12:51
「LastRow」真的是最後一行嗎?如果是這樣,爲什麼插入而不只是複製? – 2011-03-22 20:34:14
使用插入是因爲前一行的格式被複制到新插入的行。但我想我只是填寫數據而不關心格式。 – Shirky 2011-03-23 12:15:38