excel - 在 Excel vba中,如何加快复制单元格的速度

  显示原文与译文双语对照的内容
0 0

我有这个 Excel VB代码,每次执行这里行后,它会暂停半秒钟:

Worksheets(ws.Name).Range("A" & i &":G" & i).Copy _
Destination:=Worksheets("Sheet1").Range("A" & emptyCell)

谁能告诉我它正在做什么,以及如何防止它花费太长时间?

我在 Windows XP Pro上有 Microsoft 2007

更新:如果我手工粘贴它,它会等待同样的时间。

时间:原作者:2个回答

0 0

这完全取决于硬件( 硬盘,内存,网络连接,ect )的规格。 如果它在网络上运行,那将是最大的瓶颈。 代码本身并没有什么问题。

你还可以通过将工作簿的计算转为手动,并关闭屏幕更新来加快例程的速度。 如果计算是自动的,它将在每次复制时计算。

原作者:
0 0

它正在从分配给变量ws的工作表中复制单元格区域并将它的粘贴到工作表工作表中。

复制的范围来自分配给变量的行号中的A:G 。

它将区域中的区域粘贴到 Sheet1 emptyCell in指定给变量的行号中。

你可以通过在每一行中加上撇号来阻止它。

但是,你可能首先希望探究代码为什么要这样做 !

原作者:
...