为什么复制和粘贴值比使单元格值等于其他单元格值更快?

时间:2018-11-30 11:04:54

标签: excel vba

我写了一个宏,将列复制到另一个工作表。我使用了这样的代码:

ws2.Columns("A:U").Value = ws1.Columns("A:U").Value

它很慢,所以我尝试复制和粘贴值:

ws1.Activate
ws1.Columns("A:U").Copy  
ws2.Activate
ws2.Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

第二个要快得多。我认为第一种方法应该更好,为什么相反呢?

1 个答案:

答案 0 :(得分:0)

差异是由于Excel的工作方式造成的:复制时,所有选定的信息都会快速进入剪贴板(它使用RAM内存)。粘贴也是(准)瞬时的。

第一种方法是循环遍历所有单元格/列并逐个单元地传输信息单元。 实际上,您可以在速度较慢的PC上看到该过程。