Страницы: 1
RSS
Перестал работать макрос (но не весь)
 
Доброго времени суток!
Есть 4 отчета, которые тянут данные из одного файла-донора. Был написан макрос для каждого отчета (суть - один столбец скопировать, а на его место подтянуть свежие данные из файла-донора).

Затем для большей автоматизации был написан один большой макрос, который копирует сами файлы отчетов, меняет в названии дату, открывает их и в каждом файле выполняет соответствующий макрос (записаны как Private Sub внутри большого макроса). Подмакросы внутри него идентичны изначальным четырем.

Всё работало отлично, но недавно 2 подмакроса стали завершаться на середине с закрытием файлов (копируется старый столбец, но при обращении к файлу-донору отчет закрывается с сохранением). Остальные 2 подмакроса дорабатывают до конца. Ошибок никаких не выдается.
То есть по итогу должно быть открыто 4 файла с новыми данными, а по факту открыто 2 как положено, а 2 закрыты с наполовину отработанными макросами.
Оригинальные макросы продолжают правильно работать по отдельности.

Файл донор задается командой Set donor = Workbooks.Open(Filename:=xxxxx, UpdateLinks:=False)
Опытным путем (расставляя Stop на разные строки) было выяснено, что подмакросы прекращают работу на первом обращении к донору (команда donor.Activate). Но опять же - такие обращения есть во всех подмакросах (их структура идентична) и в изначальных макросах.

Собственно вопрос - что может вызывать такие проблемы, т.к. сломалось по факту на ровном месте? Винда, версия экселя (2013), сами макросы никак не изменялись. На старых "донорах" макрос также не работает. Единственное - чаще стал сбоить эксель, например постоянно выдает ошибки типа "ошибка при направлении команды приложению" при открытии файлов. Могут ли это быть проблемы с производительностью?

Сам макрос, к сожалению, приложить не смогу, т.к. с рабочего компа запрещено пересылать информацию, а доступ к данному сайту вообще заблокирован =( Но и вопрос больше по экселю, чем по конкретному макросу.
Изменено: Sandee - 15.10.2021 18:00:28
 
Всё-таки нужно уточнить название темы, т.к. текущее не обрисовывает задачу. Макрос не работает - так их тысячи разных...
 
Цитата
Sandee написал:
Сам макрос, к сожалению, приложить не смогу, т.к. с рабочего компа запрещено пересылать информацию
а этот текст смогли набрать?
значит и текст макроса набрать сможете, но если облом, то конечно не нужно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
Sandee написал:
Но и вопрос больше по экселю, чем по конкретному макросу.
Интересно, как вы это определили?
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1
Наверх