Excel Worksheet_Change Отключает себя - PullRequest
0 голосов
/ 16 марта 2019

У меня есть код, который создает журнал изменений для листа, и он работает хорошо.Если я изменяю и делаю синтаксическую ошибку, VBA идентифицирует ошибку как обычно, и я могу исправить и сбросить модуль, но когда я делаю это, функция Worksheet_Change отключает себя.Я не нашел способ повторно включить код, и мне нужно создать новую книгу и скопировать / вставить код для продвижения вперед.Может кто-нибудь сказать мне, почему это происходит и как включить программу мероприятия?

1 Ответ

0 голосов
/ 16 марта 2019

К сожалению, это происходит постоянно. Типичный код события выглядит так:

Private Sub Worksheet_Change(ByVal Target As Range)
    Application.EnableEvents = False '<==== ALPHA
        '   do some stuff
    Application.EnableEvents = True '<=====OMEGA
End Sub

Если у вас есть ошибки в «делать что-то», вы никогда не будете выполнять строку, помеченную OMEGA, и события никогда не будут повторно включены.

Я предлагаю включить следующий код в стандартный модуль:

Sub Re_Enable()
    Application.EnableEvents = True
End Sub

так что вы:

  1. попробуй свой код
  2. исправление ошибок
  3. пробег Re_Enable
  4. попробуйте свой код еще раз
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...