Excel VBA: вызывать sub при переходе на другой лист - PullRequest
0 голосов
/ 22 января 2019

Довольно простой вопрос. Я ищу подпрограмму, которая будет срабатывать, когда пользователь изменяет активную рабочую таблицу на определенную рабочую таблицу (calles worksheet3).

Проведение некоторых исследований в интернете, к сожалению, не могло мне помочь.

Подпрограмма события, которую я ищу, должна быть очень похожа на подпрограмму workbook_open. Очевидно, это срабатывает каждый раз, когда открывается рабочая книга. Итак, мой вопрос: есть ли подобный подпункт события, который срабатывает, когда я открываю определенный лист? Вроде как worksheet3_open?

Ответы [ 3 ]

0 голосов
/ 22 января 2019

Вы можете использовать событие Worksheet_Activate() на кодовой странице Worksheet3.

  1. Выберите свой лист, дважды щелкнув в окне PRoject:

    enter image description here

  2. В раскрывающемся списке вверху выберите «Рабочий лист»

    enter image description here

  3. Во втором выпадающем меню справа выберите «Активировать».

    enter image description here

Вы будетесоздайте новую подпрограмму с именем Worksheet_Activate(), которая будет срабатывать каждый раз, когда пользователь активирует эту вкладку.

Затем вы можете вызывать подпрограмму внутри этого кода, чтобы она также выполнялась.

0 голосов
/ 22 января 2019
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

End Sub

или

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)

End Sub

Ничего в сети ????? :)

0 голосов
/ 22 января 2019

Поместите следующий код под рабочую книгу:

Private Sub Workbook_SheetActivate(ByVal Sh As Object)

    If Sh.Name = "worksheet3" Then
        YourSub
    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...