在VBA中检查哪个Excel工作表处于活动状态(当前显示)

时间:2011-03-02 22:01:14

标签: vba excel-vba excel

我正在寻找一种检查Excel工作表当前是否处于活动状态(当前显示)的方法。 我对同步方法感兴趣,而不是在事件中。

2 个答案:

答案 0 :(得分:24)

您可以使用set sh = ActiveSheetstrShName = 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