У меня есть надстройка Excel, выполняющая процедуру, которая отображает MsgBox OKOnly, если определенный критерий не выполняется, и пытается закрыть форму пользователя, активировать определенную книгу и прекратить выполнение кода.В событии UserForm_Terminate () у меня есть:
Private Sub UserForm_Terminate()
Debug.Print ActiveWorkbook.Name
Application.ScreenUpdating = True
wbk.Activate
sht.Activate
Debug.Print ActiveWorkbook.Name
End
End Sub
Если я начинаю запускать процедуру с новой пустой пустой книгой, эта книга остается активной книгой после завершения кода, но оба приведенных выше оператора печати указывают, чтоцелевой wbk на самом деле активен.Однако, если я использую точку останова и перехожу через wbk.Activate, целевой wbk активируется, как и ожидалось.Объекты книги и рабочего листа доступны, и ошибки нет.Любые идеи, почему Workbook.Activate ведет себя не так, как ожидалось во время выполнения?Я ожидал, что включение обновления экрана решит мою проблему, но без кубиков.