Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.05.2011, 11:51   #1
Jarik
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 53
По умолчанию обработка события Worksheet_change

Добрый день!

понадобилось написать обработчик события Worksheet_Change, с помощью которого изменяется значение, которое вводится в ячейку.

Простейший пример:

Код:
Private Sub Worksheet_Change(ByVal Target As Range)
    Target = Target.Value * 100
End Sub
но такая конструкция приводит к зацикливанию, так как обработчик вызывает сам себя при каждом изменении ячейки.
Можно ли как-нибудь этого избежать?
Спасибо!
Jarik вне форума Ответить с цитированием
Старый 12.05.2011, 11:58   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Application.EnableEvents = False
действия
Application.EnableEvents = True
Т.е.
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
    Target = Target.Value * 100
Application.EnableEvents = True
End Sub
Да, если в процессе отладки код остановите на отключенных событиях - то потом реагировать на изменения ячеек Эксель перестанет
Достаточно в окне отладки выполнить
Application.EnableEvents = True
Или написать и выполнить

Sub EventsOn()
Application.EnableEvents = True
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 12.05.2011 в 12:03.
Hugo121 вне форума Ответить с цитированием
Старый 12.05.2011, 12:06   #3
Jarik
Пользователь
 
Регистрация: 28.02.2008
Сообщений: 53
По умолчанию

Спасибо, так и думал, что есть какая-то деректива, но не нашел
Jarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка события нажатия кнопки masm Microsoft Office Access 6 22.08.2011 11:21
Обработка события Lena220 Microsoft Office Access 2 22.11.2010 11:48
Обработка события создания окна Clacer Общие вопросы .NET 2 04.03.2010 09:20
Использование события рабочего листа Worksheet_Change kovalevskivf Microsoft Office Excel 2 15.11.2009 12:51
Обработка события закрытия окна в С# Kriziun Общие вопросы .NET 2 14.04.2008 14:06