需要优化慢速vba代码

时间:2013-07-31 00:52:57

标签: excel excel-vba 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个字段的命名范围。

有人可以建议一种方法来优化此代码或重新编写以实现相同输出的方式吗?

由于

1 个答案:

答案 0 :(得分:3)

这样做的速度要快得多:

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