我正在尝试将某些工作表移至新工作簿,然后将所有单元格复制粘贴为值,以删除公式和指向其他工作表的链接。问题是我的代码花费的时间太长了(我负责部分代码)。任何使它更有效的帮助将不胜感激。
当前,我正在使用以下代码将工作表复制到新工作簿。该代码需要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
问题是它不适用于上面有数据透视表并抛出错误的工作表。
谢谢