首页 > 解决方案 > 我的 vba 代码运行很慢。运行时excel冻结

问题描述

我总共有 800 行。代码运行时,excel 冻结并在近 1 分钟内完成。你认为这个问题出现在哪里?相同的代码是否在您的计算机上快速流畅地运行?代码运行时是否遇到同样的问题?

Sub counterfunc()
 Dim i, counter As Integer
 For i = 2 To Sayfa3.Range("A:A").End(xlDown)

 Sayfa3.Cells(i, "J").Value = Sayfa3.Cells(i, "A").Value
 counter = counter + 1
Next  

End Sub

标签: excelvba

解决方案


如果你要循环,这将完成它:

Sub counterfunc()
 Dim i As Long
 Dim LR As Long
 LR = Sayfa3.Cells(Rows.Count, 1).End(xlUp).Row
 
 For i = 2 To LR

    Sayfa3.Cells(i, "J").Value = Sayfa3.Cells(i, "A").Value

 Next i

End Sub

但是,如前所述,为什么要循环?您可以简单地复制/粘贴该列(如果格式有问题,则可以使用特殊粘贴)

Sub counterfunc2()
    Sayfa3.Columns("A").Copy Sayfa3.Columns("J")
    
End Sub

推荐阅读