|
|
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Есть экселевский файл 1.xls. В нем - макрос A, который заполняет таблицу файла 1.xls данными, которые высчитываются на основе данных таблицы другого файла 2.xls (причем, в примечании в ячейкам должны записываться координаты ячейки-источника файла 2.xls) В файле 1.xls в модуле листа, который заполняется, я хочу сделать Worksheet_Update, которая должна запускаться при изменении данных в таблице, а именно - менять данные в исходной таблице (файл 2.xls) при изменении данных в ячейках таблицы файла 1.xls. С какой трудностью я столкнулся? При запуске макроса А и заполнении таблицы новыми значеними, начинают обновляться данные и в таблице-источнике, что, согласитесь, глупо. Можно ли как-то обойти этот эпизод? Или посоветуйте что-нибудь, как вы считаете лучше реализовать данную задачу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 15:49:07 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Не пойму что-то. 1. Макрос А заполняет файл 1.xls данными (или на основе данных) из файла 2.xls. 2. Происходит правка данных в файле 1.xls 3. Запускается макрос, который заполняет файл 2.xls данными, измененными в файле 1.xls Я так понял? Если да, то что-то не вижу проблемы. А вот в это я вообще не врубаюсь: -GL-При запуске макроса А и заполнении таблицы новыми значеними, начинают обновляться данные и в таблице-источнике, что, согласитесь, глупо. -GL-В файле 1.xls в модуле листа, который заполняется, я хочу сделать Worksheet_Update, которая должна запускаться при изменении данных в таблице, а именно - менять данные в исходной таблице (файл 2.xls) при изменении данных в ячейках таблицы файла 1.xls. Так ты хочешь менять данные в исходном файле 2.xls или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 16:25:39 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
действительно сумбурно, но может это поможет (в макрос А вставить). это я интуичу, что хотел автор вопроса-:) Application.EnableEvents = False ....... Application.EnableEvents = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 16:48:45 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
sergeyvgдействительно сумбурно, но может это поможет (в макрос А вставить). это я интуичу, что хотел автор вопроса-:) Application.EnableEvents = False ....... Application.EnableEvents = True Ааааа... Кажется, и до меня дошло :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 17:12:54 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
k-nikeНе пойму что-то. 1. Макрос А заполняет файл 1.xls данными (или на основе данных) из файла 2.xls. 2. Происходит правка данных в файле 1.xls 3. Запускается макрос, который заполняет файл 2.xls данными, измененными в файле 1.xls Я так понял? Если да, то что-то не вижу проблемы. А вот в это я вообще не врубаюсь: -GL-При запуске макроса А и заполнении таблицы новыми значеними, начинают обновляться данные и в таблице-источнике, что, согласитесь, глупо. -GL-В файле 1.xls в модуле листа, который заполняется, я хочу сделать Worksheet_Update, которая должна запускаться при изменении данных в таблице, а именно - менять данные в исходной таблице (файл 2.xls) при изменении данных в ячейках таблицы файла 1.xls. Так ты хочешь менять данные в исходном файле 2.xls или нет? 1. Пусть будет так: макрос А заполняет файл 1.xls данными из файла 2.xls (но определенным образом). 2. Происходит правка данных в файле 1.xls. А дальше в этом же файле я хочу поставить процедуру обработки события (обновления страницы или скажем определенного диапазона ячеек). Т.е. Если какие-то данные обновились в 1.xls, то и соответсвующие ячейки в 2.xls тоже обновятся. Спросите: а как я собираюсь запоминать координаты ячеек в 2.xls? Для этого я заношу их в комментарий ячейки в 1.xls. Но повторюсь еще раз - это делает не макрос в 2.xls, а процедура обработки события в 1.xls. Проблема состоит вот в чем. Допустим, я запускаю макрос А. У меня начинает заполняться 1.xls и в то же время происходит событие - обновление ячеек, а следовательно и лишняя работа - обновление данных в 2.xls. Вопрос: можно ли как то отключать\включать эту процедуру только тогда, когда происходит правка данных пользователем? (а не работа макроса) По поводу Application.EnableEvents. Что это конкретно мне позволяет сделать? И как им правильно пользоваться, если это то, что мне нужно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 21:35:40 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Спасибо и отбой с последним постом. Все супер!!! Последний вопросик: Поскольку у меня делаются изменения в другом файле таким, то в случае закрытия выскакивает сообщение о подтверждении сохранений. Как можно избежать этого сообщения? Т.е., чтобы все делалось автоматом. Причем такая схема должна работать только в этом случае. Далее при работе вопросик все-таки должен выскакивать (т.е. потом нужно поставить все на место) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.09.2005, 23:01:13 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 08:28:05 |
|
||
|
Как лучше сделать?
|
|||
|---|---|---|---|
|
#18+
опять достойный вопрос:) все-таки нужно жалеть читателей, приводите куски кода, может будет нам понятней. я так понимаю, что сохранять файл в некоторых случаях не надо, надеюсь такой вариант устроит, он имитирует, что книга уже сохранена и не надо задавать вопросов ThisWorkbook.Saved = True ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.09.2005, 08:28:29 |
|
||
|
|

start [/forum/topic.php?fid=61&msg=33252740&tid=2185773]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
2ms |
| others: | 208ms |
| total: | 354ms |

| 0 / 0 |
