• 🚨 Ещё можно успеть на курс «OSINT: технология боевой разведки» от Академии Кодебай

    🔍 Изучите методы разведки с использованием открытых источников (OSINT) для проведения успешных атак.
    🛠️ Освойте ключевые инструменты, такие как Maltego, TheHarvester и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальную разведку.
    🧠 Развивайте навыки, которые помогут вам стать экспертом в области информационной безопасности.

    Запись открыта до 23 мая Подробнее о курсе ...

Проблема 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? Почему один работает там, где пасует второй и на одних и тех же данных? Формулы на внешние источники (по отношению к данному листу) отсутствуют
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD