У меня есть следующий фрагмент кода, который копирует листы из одного файла в другой:Копирование рабочего листа замерзает 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
и т. Д. Однако это работает плавно и быстро на моей локальной машине.
Установка исчислений в ручной режим до того, как операция копирования не сработала. Также перемещение листа (в отличие от его копирования).
Я подозреваю, потому что скопированный лист должен создавать ссылки на общий диск, и он висит. Я не могу сгладить формулы, потому что на них будет влиять пользовательский вход вниз по течению.
Любая подсказка, как я могу заставить это работать в сетевом накопителе, на что я должен смотреть?
Возможно, что-то происходит с перенаправлением клиента клиентом Citrix. Существуют ли какие-либо другие странности в отношении операций копирования и вставки в этой среде? – Comintern
Не имеет значения, если вы установите метод расчета на «Руководство» перед его запуском? –
@Comintern - это не копия | вставить. Это копирование (думаю, перемещение, но сохранение рабочего листа в исходном файле) весь рабочий лист в другой файл. –