我有以下代码片段将工作表从一个文件复制到另一个文件:
Dim wbMaster As Workbook
Set wbMaster = Workbooks("UniversalQuoteProposal.xlsb")
Dim vSheetNames As Variant
vSheetNames = wsConfig.Range("SheetExportGeneralLiability")
Dim i As Integer
For i = LBound(vSheetNames) To UBound(vSheetNames)
If vSheetNames(i, 2) = "X" Then ThisWorkbook.Worksheets(vSheetNames(i, 1)).Copy Before:=wbMaster.Worksheets(1)
Next
此代码在我的本地计算机上运行良好,但是当我在网络上保存文件时运行它时,.Copy
方法会冻结Excel(在第一个工作表上)。
现在,工作表有几个公式,大多数都是对文件中其他地方的表进行结构化引用,还有一些更复杂(但没什么太疯狂)... SUMIF
等等。但是,这在我的本地机器中运行平稳而快速。
在复制操作之前将calcs设置为manual不起作用。也没有移动工作表(而不是复制它)。
我怀疑它是因为复制的工作表必须创建指向共享驱动器的链接并且它已挂起。我不能弄平公式,因为它们会受到下游用户输入的影响。
我有什么想法可以让我在网络驱动器中工作,或者我应该注意什么?
答案 0 :(得分:1)
由于在工作表上的命名范围中使用EVALUATE
公式,因此出现问题。当我删除它时,工作表被适当地复制。