#excel #vba #excel-formula #vba6
Вопрос:
Private Sub Worksheet_Deactivate()
Msgbox(worksheet.Name)
End Sub
Как я могу получить последний деактивированный лист, как только я нажму на любой лист, кроме интересующего листа.
Ответ №1:
- Сначала вы создаете
Public
переменную поверхThisWorkbook
модуля кода (в области объявлений).:
Public lastSheetName As String
- Поместите следующий код в
Workbook_SheetDeactivate
событие (также вThisWorkbook
модуле кода):
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
lastSheetName = Sh.name
End Sub
- Затем вы можете вернуть имя последнего деактивированного листа с помощью простого
Sub
или внутри другого кода события. Попробуйте вставить следующий код в стандартный модуль и запустить его. Конечно, после того, как вы деактивировали хотя бы один лист…
Sub LastDeactivatedSheet()
MsgBox ThisWorkbook.lastSheetName
End Sub
3.a Или поместите тот же код в Workbook_SheetActivate
событие , таким образом:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
MsgBox "You are coming from " amp; ThisWorkbook.lastSheetName
End Sub
Каждый раз, когда вы активируете другой лист, он будет информировать вас, с какого листа вы пришли…
Комментарии:
1. @Manideep Karthik: Разве вышеприведенное решение не решило вашу проблему? Вы нашли время, чтобы проверить это?