В VBA проверьте, какой лист Excel активен (отображается в данный момент) - PullRequest
9 голосов
/ 03 марта 2011

Я ищу способ проверки, активен ли лист Excel в данный момент (отображается в данный момент).Меня интересует синхронный метод, а не событие.

Ответы [ 2 ]

24 голосов
/ 03 марта 2011

Вы можете использовать set sh = ActiveSheet или strShName = ActiveSheet.Name.
Чтобы проверить, активен ли лист Xyz: If ActiveSheet.Name = "xyz" Then
Вы также можете использовать If ActiveSheet.CodeName = "Sheet1" Then (имя VBE)

0 голосов
/ 17 мая 2018

Проверка соответствия имен рабочих листов и книг.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...