2017-01-11 60 views
0

我有下面的代碼段從一個文件複製工作表到另一個:工作表複製凍結的Excel文件時對網絡存儲驅動器

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等等。但是,這在我的本地機器中運行平穩而快速。

在複製操作不起作用之前將計算設置爲手動。沒有移動工作表(而不是複製它)。

我懷疑它是因爲複製的工作表必須創建指向共享驅動器的鏈接並且掛起。我無法將這些公式弄平,因爲它們將受到用戶輸入下游的影響。

任何線索我怎麼能得到這個工作在網絡驅動器或我應該尋找的東西?

+0

Citrix客戶端剪貼板重定向可能存在某些問題。在那個環境中複製和粘貼操作還有其他奇怪的地方嗎? – Comintern

+0

如果在運行之前將計算方法設置爲「手動」,它會有什麼區別嗎? –

+0

@Comintern - 它不是複製|糊。它正在複製(認爲移動,但將工作表保留在原始文件中)整個工作表複製到另一個文件。 –

回答

1

問題發生是因爲在工作表上的命名範圍中使用了EVALUATE公式。當我刪除這個工作表時適當地複製。

相關問題