【问题标题】:Get the last deactivated worksheet获取最后一个停用的工作表
【发布时间】:2021-07-19 19:06:24
【问题描述】:
Private Sub Worksheet_Deactivate()
Msgbox(worksheet.Name)
End Sub

当我按下感兴趣的工作表以外的任何工作表时,如何获取最后一个停用的工作表。

【问题讨论】:

    标签: excel vba excel-formula vba6


    【解决方案1】:
    1. 您首先在ThisWorkbook 代码模块(在声明区)之上创建一个Public 变量:
    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_SheetActivate事件中,这样:

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

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

    【讨论】:

    • @Manideep Karthik:上述解决方案没有解决您的问题吗?你有时间测试一下吗?
    猜你喜欢
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多