VBA代码运行缓慢(.copy和粘贴特殊)

时间:2018-08-27 11:54:42

标签: excel vba

我正在尝试将某些工作表移至新工作簿,然后将所有单元格复制粘贴为值,以删除公式和指向其他工作表的链接。问题是我的代码花费的时间太长了(我负责部分代码)。任何使它更有效的帮助将不胜感激。

当前,我正在使用以下代码将工作表复制到新工作簿。该代码需要48秒才能运行。

  dim i as variant
  i=array (I have a total of 10-12 worksheets named here)
  thisworkbook.sheets(i).copy

下面的代码将单元格复制并粘贴为创建的新工作簿中的值。该代码运行大约需要140秒(已通过debug.print计时器代码进行检查)

 activeworkbook.sheets.select
 cells.select
 selection.copy
 selection.pastespecial paste:-xlpastevalues, operations:-xlnone, skipblanks
 :=false, transpose:=false

我还尝试使用更改代码以使用以下代码粘贴值

  dim ws as worksheet
  for each ws in activeworkbook.worksheets
  with ws.usedrange
 .value = .value
  end with
  cells (1,1).select
  net ws

问题是它不适用于上面有数据透视表并抛出错误的工作表。

谢谢

0 个答案:

没有答案