当网络驱动器上存储的文件时,复制工作表冻结Excel

时间:2017-01-11 03:57:48

标签: excel vba excel-vba citrix

我有以下代码片段将工作表从一个文件复制到另一个文件:

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不起作用。也没有移动工作表(而不是复制它)。

我怀疑它是因为复制的工作表必须创建指向共享驱动器的链接并且它已挂起。我不能弄平公式,因为它们会受到下游用户输入的影响。

我有什么想法可以让我在网络驱动器中工作,或者我应该注意什么?

1 个答案:

答案 0 :(得分:1)

由于在工作表上的命名范围中使用EVALUATE公式,因此出现问题。当我删除它时,工作表被适当地复制。