2013-07-31 126 views
1

,它正在採取永遠的進修需要優化我使用下面的代碼慢VBA代碼

For i = 1 To 21408 
    Range("abcd").Copy 
    Rows(Range("abcd").Offset(i, 0).Row).Insert Shift:=xlDown 
    Application.CutCopyMode = False 
Next i 

ABCD被命名爲8個字段範圍。

有人可以請建議一種方法來優化此代碼或重新寫入的方式來實現相同的輸出?

感謝

回答

3

這做同樣的事情,要快得多:

With Range("abcd") 
    .Copy 
    .Offset(1).Resize(21408, .Columns.Count).Insert Shift:=xlDown 
    Application.CutCopyMode = False 
End With