|
|
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть лист экселя с данными, необходимо ловить изменение в одной ячейки и производить определенные действия. Когда ручками меняю значение в этой ячейки, все отрабатывает, когда изменения проиходят удаленно через ДДЕ, то не работает. Есть у кого-нибудь мысли? Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 13:24 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
Простите, а что такое ДДЕ ? Вот я думаю так: Событие Worksheet_Change используют когда нужно отловить заранее неизвестные изменения на листе, и в автоматическом режиме запустить макрос... Если же событие изменения данных Вам известно (Вы их сами меняете), зачем использовать данное событие? Проясните ? :)... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 13:42 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
Может добавить ОБНОВИТЬ ??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 13:43 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 13:49 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
andMegaM, Когда обновление ячейки А1 идет через DDE, то этот когд не сработает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 14:07 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
почему игнорируют мой вопрос?... как же тут тогда научишься :(... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 14:21 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
почему так, ДДЕ = DDE = Dynamic Data Exchange Мне неважно как, но нужно поймать факт изменения значения ячейки через DDE. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 14:26 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
PlsHelpMeМне неважно как, но нужно поймать факт изменения значения ячейки через DDE непонятно... вы так ставите вопрос и объясняете задачу, что даже кто знает мало вероятно что ответит... поймать факт и что сделать дальше? из какого приложения происходит обращение к Екселю и меняются данные? и т.д. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 14:56 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
вот недавно было, не записал, к сожалению, источник, может поможет отлавливание внешнего изменения ячейки 1. Откройте Excel 2. Кликните правой клавишей мыши по свободному пространству на линии меню Excel 3. Удостоверьтесь, что линия Control Toolbox отмечена птичкой 4. На панели Control Toolbox кликните по иконочке с молоточком и гаечным ключом 5. Найдите в появившемся списке RefEdit.ctrl 6. Кликните по этому имени 7. Положите его курсором на лист Excela (проведите по листу курсором с нажатой клавишей мыши) 8. Кликните правой клавишей по положенному на лист контролю 9. Найдите в меню линию Properties 10. Кликните по ней 11. Найдите в списке свойств свойство LinkedCell 12. Напечатайте во второй колоночке A1 13. Закройте панель свойств, кликнув на крестик в правом верхнем углу панели. 14. На панели Control Toolbox кликните по иконочке с угольником, линейкой и карандашом 15. Нажмите Alt-F11 16. В кодовом окне для того листа, на который вы посадили RefEdit, откройте левый верхний комбобокс 17. Выберете RefEdit1 18. В кодовом окне для того листа, на который вы посадили RefEdit, откройте правый верхний комбобокс 18. Выберете Change 19. Внутри процедуры события RefEdit1_Change напишите: Range("B1").Value = Range("A1").Value 20. Вернитесь в лист Excel 21. При необходимости, на панели Control Toolbox кликните по иконочке с угольником, линейкой и карандашом еще раз, чтобы выйти из режима дизайна, если вы еще в нем. 22. Напечатайте что-нибудь в клеточку A1 23. Наблюдайте за содержимым B1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.11.2009, 15:20 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
PlsHelpMe, Для получения события изменения листа в Экселе, при экспорте на лист по ДДЕ, надо ловить изменение событием листа Calculate, предварительно сделав какую-нибудь формулу на этом листе, и включив в расчет этой формулы ячейку, измнение по ДДЕ которой вам нужно. Изменение ячейки вызовет калькулейт листа и вы получите событие Воркшит_Чейндж рабоатть не будет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2009, 19:47 |
|
||
|
Excel, VBA
|
|||
|---|---|---|---|
|
#18+
testing22PlsHelpMe, Для получения события изменения листа в Экселе, при экспорте на лист по ДДЕ, надо ловить изменение событием листа Calculate, предварительно сделав какую-нибудь формулу на этом листе, и включив в расчет этой формулы ячейку, измнение по ДДЕ которой вам нужно. Изменение ячейки вызовет калькулейт листа и вы получите событие Воркшит_Чейндж рабоатть не будет да. а лучше сразу придумать полезный "калькулэйт" :), т.е. чтобы что-то полезное для вас рассчитывало. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.11.2009, 21:31 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=36292203&tid=2178873]: |
0ms |
get settings: |
5ms |
get forum list: |
8ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
154ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 201ms |
| total: | 417ms |

| 0 / 0 |
