1
Private Sub Worksheet_Deactivate()
Msgbox(worksheet.Name)
End Sub

按下除感兴趣的工作表以外的任何工作表后,如何获得最后一个停用的工作表。

4

1 回答 1

2
  1. Public您首先在代码模块顶部ThisWorkbook(在声明区域)创建一个变量:
Public lastSheetName As String
  1. 将下一个代码放入Workbook_SheetDeactivate事件中(也在ThisWorkbook代码模块中):
Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
   lastSheetName = Sh.name
End Sub
  1. 然后,您可以使用简单的Sub或在另一个事件代码中返回最后一个停用的工作表的名称。尝试将下一个代码粘贴到标准模块中并运行它。当然,在您停用至少一张纸之后...
Sub LastDeactivatedSheet()
   MsgBox ThisWorkbook.lastSheetName
End Sub

3.a 或者在Workbook_SheetActivateevent 中放入相同的代码,这样:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
   MsgBox "You are coming from " & ThisWorkbook.lastSheetName
End Sub

每次您激活另一张表时,它都会告诉您您来自哪张表...

于 2021-04-26T11:58:54.933 回答