我正在寻找一种检查Excel工作表当前是否处于活动状态(当前显示)的方法。 我对同步方法感兴趣,而不是在事件中。
答案 0 :(得分:24)
您可以使用set sh = ActiveSheet
或strShName = ActiveSheet.Name
要测试工作表Xyz是否处于活动状态:If ActiveSheet.Name = "xyz" Then
您也可以使用If ActiveSheet.CodeName = "Sheet1" Then
(VBE名称)
答案 1 :(得分:0)
测试匹配的工作表和工作簿名称。
Function IsActiveSheet(ByVal targetSheet As Worksheet) As Boolean
IsActiveSheet = targetSheet.Name = ActiveSheet.Name And _
targetSheet.Parent.Name = ActiveWorkbook.Name
End Function
这是一个功能。将它放在一个模块中,然后从另一个程序中调用它:
Sub Test()
Dim mySheetVar As Worksheet
Set mySheetVar = ActiveWorkbook.Worksheets("Sheet1")
' Here's the function call which returns TRUE or FALSE.
MsgBox IsActiveSheet(mySheetVar)
End Sub