Проблема Excel. Метод Move и Copy объекта WorkSheet

Г

Гринго

Добрый день

Может кто проконсультировать по следующей проблеме. Есть код VBA в книге MS Excel, который обрабатывает данные на определенном листе и далее должен переместить данный лист в новую книгу и сохранить как отдельный файл с определенным именем. Для этого используется следующая конструкция в коде

Sub Test()
Dim oSheet_AccSt As Worksheet
....
Set oSheet_AccSt = ThisWorkbook.Worksheets("<имя листа>")

' блок обработки данных
....
' перемещаем лист в новую книгу
oSheet_AccSt.Move

' блок сохранения новой книги на диске
...

End Sub

Так вот, в определенные дни код работает как надо - отрабатывает так, как от него ожидается. Но в какие-то дни MS Excel намертво зависает на выполнении выделенной команды oSheet_AccSt.Move (выявлено через отладку). Приложение после этого можно закрыть только через диспетчер задач. Причем эта проблема воспроизводится на всех компьютерах на работе в корпоративной сети

Сделал обходной вариант
oSheet_AccSt.Copy
' блок сохранения новой книги на диске
...
' удалим лист из исходной книги
oSheet_AccSt.Delete

Данный код работает штатно. Возник академический интерес - кто -либо может пояснить, какие принципиальные различия данных методов объекта WorkSheet в MS Excel? Почему один работает там, где пасует второй и на одних и тех же данных? Формулы на внешние источники (по отношению к данному листу) отсутствуют
 
Мы в соцсетях:  ТелеграмВконтактеДзенФейсбукТвиттерЮтуб