Запуск макроса надстройки Excel на основе событий рабочей книги - PullRequest
0 голосов
/ 19 января 2019

Я хочу создать макрос, который переносит пользователя на последний ранее активный лист.Мне нужен этот макрос, чтобы отслеживать все ранее активные листы, что он должен делать автоматически.Я хочу добавить это в надстройку Excel, поскольку она должна быть совместима со всеми рабочими листами, которые использует моя компания.Сами листы не поддерживают макросы, поэтому я не могу хранить код в модулях ThisWorkbook.

Я опробовал примеры, которые я нашел на других сайтах.К сожалению, все они требуют использования ThisWorkbook, который я не смогу использовать.Есть ли способ сделать это исключительно в надстройке Excel?

Public MyPrevSheet as String
Sub GoToPreviousSheet()
If Len(MyPrevSheet) > 0 Then
    Sheets(MyPrevSheet).Activate
    ActiveWorkbook.ActiveSheet.Previous
Else
    MsgBox "You have not switched sheets yet since opening the file!"
End If
End Sub

В идеале, я бы хотел, чтобы MyPrevSheet автоматически отслеживал последний активный лист в файле.

1 Ответ

0 голосов
/ 21 января 2019

Обновление: мне удалось заставить его работать, используя События приложения.Идея состоит в том, чтобы создать модуль класса, который затем может быть назначен приложению.

Вот несколько полезных ссылок, которые мне помогли: http://www.cpearson.com/excel/AppEvent.aspx

https://www.jkp -ads.com / Статьи / buildexceladdin05.asp

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