VBA excel

За вознаграждение или нахаляву (если повезёт)

Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill

Ответить
shematov
Сообщения: 2
Зарегистрирован: 16 июн 2008, 16:33

Вообщем проблема вот в чем: есть таблица в excel, ее поля заполняются автоматически ссылкой =MT4|BID!AUDCHF т.е. из прогаммки MetaTrader (экспорт DDE) в excel транслируются котировки. далее я написал макрос, который по этим котировкам производит некоторые вычисления и выводит в этом же листе. но нужно сделать так, чтобы этот макрос запускался каждый раз при изменении любой котировки! пробовал сделать это через Private Sub Worksheet_Change(ByVal Target As Range) , но эта процедура как оказалось не реагирует на изменения котировок, т.е. если менять там занчения "руками" то она работает, т.е. перезапускает макрос, но если котировки меняются сами, то она уже не работает. вообщем очень нужна помощь с этой проблемой, как сделать так, чтобы макрос реагировал на изменения котировок? или хотя бы может быть можно чтобы он автоматически запускался раз в секунду...? буду рад любой помощи, заранее благодраен.
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

shematov писал(а):но если котировки меняются сами

Просто так даже таракан на стенку не лезет. Котировки сами не меняются, их что-то меняет - экспорт ли из DDE, или другое событие. Вот отслеживаем это событие и прицепляем к нему макрос. А если запускать макрос каждую секунду, то с документом будет невозможно работать.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
shematov
Сообщения: 2
Зарегистрирован: 16 июн 2008, 16:33

и как же отследить это событие... ? не подскажет?
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

А какое событие?
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить