Workbook_BeforeClose - появляется стандартная форма сохранения, но при нажатии «Отмена» появляется ошибка 91 - PullRequest
0 голосов
/ 11 июля 2019

Я хотел бы написать код, который перед закрытием Рабочей книги устанавливает все листы, кроме одной обложки, как очень скрытые.Я нажимаю «X», чтобы закрыть книгу, макрос запускается и все в порядке.Затем я получаю классическую форму сохранения Excel и, если нажимаю кнопку «Отмена», я получаю ошибку 91 - Переменная объекта или С переменной блока не установлено.

Может кто-нибудь объяснить мне, почему это происходит?Я использовал тот же код в прошлом, и у меня не было этой проблемы

Это интересно, потому что, если одновременно открыта другая книга Excel, она работает все отлично.

ВВкладка ThisWorkbook:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

    Application.EnableEvents = True

    Call my_macro 'defined in a separate module


    Application.EnableEvents = False

End Sub

Для ясности в модуле 1 приведен следующий код:

Public Sub my_macro()

Application.ScreenUpdating = False

On Error GoTo skip

Dim ws As Worksheet

Sheet8.Visible = True


For Each ws In Worksheets

    If ws.Name = "Cover" Then

    Else

        ws.Visible = xlSheetVeryHidden

    End If

Next ws

Sheet8.Select

Range("A1").Select

Application.ScreenUpdating = True

ActiveSheet.EnableSelection = xlNoRestrictions
Application.EnableEvents = True

skip:
Application.EnableEvents = True

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...