Да, как Ламбик уже писал, есть много решений.
В VBA много объектов и много событий
На этой картинке вы можете видеть свои объекты, я выбрал «Рабочий лист объекта», когда вы добавляете форму или кнопку, вы также можете найти эти объекты здесь, и есть много таких, как рабочая книга, рабочие таблицы, поля ввода, ячейки и итак один.
Когда ваши объекты выбраны слева, вы можете выбрать событие справа.
Когда вы добавляете кнопку и дважды щелкаете по ней или щелкаете правой кнопкой мыши и продолжаете редактировать код, это будет событие щелчка, но вы также можете выбрать событие двойного щелчка.
На экране выше у нас был лист объекта:
Когда вы сейчас выбрали активацию события, вы получите базовый суб-метод.
Код внутри будет выполнен, когда вы активируете рабочий лист.
Для лучшего понимания небольшой пример:
Private Sub Worksheet_Activate()
MsgBox "You just activated " & ActiveSheet.Name
End Sub
Если вы хотите что-то сделать только при активации определенного рабочего листа, вы можете спросить, какой рабочий лист активирован, и только затем выполнить нужный код.
Точно так же, как вы можете использовать другие объекты и события.