Создать ярлык для Excel с помощью надстройки - PullRequest
0 голосов
/ 15 мая 2019

Я пытаюсь создать Excel-надстройку, которая позволит мне использовать ярлык, чтобы вернуться к предыдущей вкладке, которую я активировал.

Теперь я могу заставить это работать в обычной электронной таблице.Откройте VBA.В «ThisWorkbook» в разделе «Объекты Microsoft Excel» у меня есть следующий код:

Private Sub Workbook_Open()

Call Module1.CreateShortcut

End Sub

Это вызывает макрос «CreateShortcut», который я кодировал в модуле, который создает ярлык при каждом открытии книги.Вот макрос, который он вызывает:

Sub CreateShortcut()

Application.OnKey "^{`}", "GoToLast"

End Sub

У меня также есть следующий код в ThisWorkbook под «Объектами Microsoft Excel»:

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
Set LstSht = Sh
End Sub

Этот код отслеживает предыдущий листчто я активировал.

Теперь, если я использую ярлык, созданный выше, он будет вызывать макрос "GoToLast", который закодирован в модуле следующим образом:

Public LstSht As Worksheet
Sub GoToLast()
LstSht.Activate
End Sub

Затемменя к предыдущему листу я активировал.

Теперь проблема возникает, когда я хочу использовать это как надстройку.Что я сделал, так это сохранил этот шаблон листа как надстройку.Затем я установил надстройку из другой книги.Однако «ThisWorkbook» в «Microsoft Excel Objects» в новой открытой книге, которую я открыл, не содержит того же кода, что и надстройка.Поэтому я не могу отследить последний активный лист через «Workbook_SheetDeactivate».Кто-нибудь знает, как я могу создать эту надстройку, чтобы она отслеживала предыдущий лист, который был активен?

Я искал в Интернете, но я изо всех сил пытаюсь найти решение.

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