Worksheets("BBB").Copy after:=Worksheets("AAA") Вы даёте команду "Копируй лист BBB и вставь после листа ААА" А так как, листа ААА не существует (вы удалили его при закрытии) - возникает ошибка
Бахтиёр написал: Прилагаю файл где вышеописанный код работает нормально.
Спасибо, я наверно перенапряг Эту книгу разными кодами, поэтому кричит "Метод Copy из класса Worksheet завершен неверно" У меня Эта книга полностью так выглядит (см. пример). На листах ААА и BBB я тренируюсь, чтобы потом BBB заменить на Data.
Нет, лист ААА я уже удалил. Сейчас при открытии файла удаляется интерфейс, заполняется лог, отображается главный лист и рабочая копия базы, скрывается лог. А при закрытии файла удаляется рабочая копия, из архивной базы копируется новая рабочая копия (для следующего сеанса), пишется лог, скрываются все листы, восстанавливается интерфейс и сохраняется файл.
Конечно, можно ещё улучшать защиту (например, делать проверку на соответствие заданного пути к файлу и самого имени файла) (из другой темы).