Private Sub Worksheet_Change(ByVal Target As Range) 'Оператор End Sub
[/vba] при выполнении макроса, расположенного в модуле, который выполняет некие действия на данном листе и в результате чего выдает ошибку на строку кода в событии листа. Попытка отключить строку кода в событии
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False 'Оператор Application.EnableEvents = True End Sub
[/vba] не устраняет данную проблему.
Здравствуйте.
Ребята как обойти или отключить событие листа,
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) 'Оператор End Sub
[/vba] при выполнении макроса, расположенного в модуле, который выполняет некие действия на данном листе и в результате чего выдает ошибку на строку кода в событии листа. Попытка отключить строку кода в событии
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False 'Оператор Application.EnableEvents = True End Sub
Сергей13, Вы отключаете обработку события уже после того, как начата его обработка в процедуре . Ну, таки-да, в течении времени исполнения процедуры Private Sub Worksheet_Change(ByVal Target As Range) события Worksheet_Change обрабатываться не будут. Инструкцию Application.EnableEvents = False нужно выносить из процедуры Private Sub Worksheet_Change(ByVal Target As Range) и выполнять заранее в каком-то другом макросе.
Сергей13, Вы отключаете обработку события уже после того, как начата его обработка в процедуре . Ну, таки-да, в течении времени исполнения процедуры Private Sub Worksheet_Change(ByVal Target As Range) события Worksheet_Change обрабатываться не будут. Инструкцию Application.EnableEvents = False нужно выносить из процедуры Private Sub Worksheet_Change(ByVal Target As Range) и выполнять заранее в каком-то другом макросе.Alex_ST
макроса, расположенного в модуле, который выполняет некие действия на данном листе
можно и выключать. Перед тем, как что-то на листе сделать. Только включить обратно не забудьте потом Типа вот так [vba]
Код
sut tt ' какой-то код без обращений к листу Application.EnableEvents = False 'отключаем cells(2,8)="знечение" 'обращение к листу ' какой-то код без обращений к листу cells(2,888)="знечение1" 'обращение к листу Application.EnableEvents = True'включаем ' какой-то код без обращений к листу end sub
макроса, расположенного в модуле, который выполняет некие действия на данном листе
можно и выключать. Перед тем, как что-то на листе сделать. Только включить обратно не забудьте потом Типа вот так [vba]
Код
sut tt ' какой-то код без обращений к листу Application.EnableEvents = False 'отключаем cells(2,8)="знечение" 'обращение к листу ' какой-то код без обращений к листу cells(2,888)="знечение1" 'обращение к листу Application.EnableEvents = True'включаем ' какой-то код без обращений к листу end sub
А почему не должно бы работать? Конечно работает. Вопрос-то не в этом. Я понял так - автор запускает макрос, в процессе выполнения которого происходит перепрыгивание на Worksheet_Change и все портится. Нужно сделать так, чтобы не перепрыгивало.
А почему не должно бы работать? Конечно работает. Вопрос-то не в этом. Я понял так - автор запускает макрос, в процессе выполнения которого происходит перепрыгивание на Worksheet_Change и все портится. Нужно сделать так, чтобы не перепрыгивало._Boroda_