问题描述
Private Sub Worksheet_Deactivate()
MsgBox(worksheet.Name)
End Sub
按下感兴趣的工作表以外的任何工作表后,如何获得最后一个停用的工作表。
解决方法
- 您首先在
L
代码模块(在声明区域)之上创建一个Public
变量:
ThisWorkbook
- 将下一个代码放入
Public lastSheetName As String
事件(也在Workbook_SheetDeactivate
代码模块中):
ThisWorkbook
- 然后,您可以使用简单的
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object) lastSheetName = Sh.name End Sub
或在另一个事件代码中返回最后一个停用工作表的名称。尝试将下一个代码粘贴到标准模块中并运行它。当然,在您停用至少一张纸后...
Sub
3.a 或者把同样的代码放到 Sub LastDeactivatedSheet()
MsgBox ThisWorkbook.lastSheetName
End Sub
事件中,这样:
Workbook_SheetActivate
每次激活另一个工作表时,它都会通知您来自哪个工作表...