Я пытаюсь создать 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».Кто-нибудь знает, как я могу создать эту надстройку, чтобы она отслеживала предыдущий лист, который был активен?
Я искал в Интернете, но я изо всех сил пытаюсь найти решение.