Страница 1 из 1

Workbook_SheetChange и DDE не работает

Добавлено: 18 май 2010, 23:30
almas
Уважаемые Гуру! Подскажите, пожалуйста, как работает Workbook_SheetChange?
при изменении ячеек из другой программы по DDE необходимо запустить процедуру, которая должна обработать ряд других ячеек и изменить их.
Я так понимаю пользовательская функция здесь работать не будет, так как меняется окружение Excel.
Workbook_SheetChange работает когда я меняю руками значения ячеек(или просто на них Enter жму), а когда по DDE обновляются ячейки - не срабатывает событие Workbook_SheetChange. Попробовал динамический импорт из файла - так там меняется/не меняется значение - все равно заходит в SheetChange (впрочем, тоже, что и Enter жмешь на ячейке).
Может, подскажете какое-нибудь другое решение?
Задача следующая:
Изменилась ячейка по DDE-> проверилось куча условий -> изменились ряд других ячеек
Или все-таки что-то другое использовать для написания проги (громко сказано :) , а Excel использовать только как приемник DDE?

Re: Workbook_SheetChange и DDE не работает

Добавлено: 19 май 2010, 06:38
EducatedFool
Я в таких случаях использую событие Workbook_SheetCalculate (или Worksheet_Calculate)

Чтобы оно срабатывало при получении данных по DDE, в любую ненужную ячейку пишем любую формулу, ссылающуюся на диапазон с данными DDE.

Re: Workbook_SheetChange и DDE не работает

Добавлено: 19 май 2010, 10:05
almas
Точно. Чёт я не сообразил раньше это событие использовать :( . Спасибо. Сегодня попробую.

Re: Workbook_SheetChange и DDE не работает

Добавлено: 19 май 2010, 12:25
almas
А если несколько ячеек необходимо отслеживать? Как определить в каком ряду и строке вычисления произошли?