Excel 2016 VBA-复制速度非常慢

Excel 2016 VBA-复制速度非常慢,excel,vba,ms-office,Excel,Vba,Ms Office,我最近将excel从2010年升级到2016年(32位),突然间,花了5秒完成的代码现在花了永远的时间。即使像下面的代码这样简单的复制操作也需要大约半分钟的时间来运行 For i = 1 To 10 Worksheets("Sheet2").Range("A" & i).Copy Worksheets("Sheet2").Range("A" & i) Next i 有没有办法解决这个问题 编辑:下面是@Comintern请求的“真实”代码,大约有1000份副本,但运行起

我最近将excel从2010年升级到2016年(32位),突然间,花了5秒完成的代码现在花了永远的时间。即使像下面的代码这样简单的复制操作也需要大约半分钟的时间来运行

For i = 1 To 10
    Worksheets("Sheet2").Range("A" & i).Copy Worksheets("Sheet2").Range("A" & i)
Next i
有没有办法解决这个问题

编辑:下面是@Comintern请求的“真实”代码,大约有1000份副本,但运行起来需要很长时间:

For i = 3 To lRow1        
     Select Case Range(cType & i).Value
        Case "Order"
            ws1.Rows(i).Copy wsOrder.Rows(lRowOrder + 1)
            lRowOrder = lRowOrder + 1
        Case "UP"
            ws1.Rows(i).Copy wsUP.Rows(lRowUP + 1)
            lRowUP = lRowUP + 1
        Case "Cancel"
            ws1.Rows(i).Copy wsCancel.Rows(lRowCancel + 1)
            lRowCancel = lRowCancel + 1
        Case "Edit"
            ws1.Rows(i).Copy wsEdit.Rows(lRowEdit + 1)
            lRowEdit = lRowEdit + 1
        Case ""
            ws1.Rows(i).Copy wsOther.Rows(lRowOther + 1)
            lRowOther = lRowOther + 1
    End Select

Next

我曾经遇到Excel速度慢的问题,这是因为没有设置默认打印机。@Comintern我使用“复制”,因为我不仅要复制值,还要复制单元格格式。这里的代码只是一个易于理解的示例。在我的实际代码中,我使用循环将数据划分为不同的表。@HilaDG谢谢你的建议,我也在另一个网站上读到了这篇文章,但在这种情况下它对我没有帮助。你不应该只在函数调用的右侧指定范围吗?与仅在
工作表(“Sheet2”).Range(“A”和i)中一样,复制工作表(“Sheet2”).Range(“A”和i)
也是此子例程中的唯一代码吗?似乎复制10个值并不会让事情慢很多