|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
04.06.2008, 15:12 | #1 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
Как запустить макрос при изменении другой книги Excel?
Друзья, помогите!
Задача такая: На сетевом диске лежит файл Excel (Условно назовём "БАЗА"). Существует другой файл (Условно назовём "Отчет"). Так вот, надо сделать так что бы при изменении "БАЗА", даже если он будет закрыт и просто его пересохранили, в "Отчет" заработал макрос. Допустим, пишет в ячейке А1 листа "Правка" фразу "файл был изменен" Спасибо. |
04.06.2008, 15:43 | #2 |
Дон Кихот
Форумчанин
Регистрация: 17.01.2008
Сообщений: 130
|
Событие на запись перехватывать надо... Но это нужно чтобы у Вас и у того, кто будет его открывать в настройке Excel по умолчанию макросы стартовались...
|
04.06.2008, 16:00 | #3 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
Тот файл даже открыаться не будет. он будет автоматически обновляться. Я пробовал сделать ссылку одного файла на другой (на определенную ячейку, которая стопудово изменится при обновлении) и через каждую минуту обновлять связи, но что то не получилось.
Private Sub Worksheet_Change(ByVal Target As Range) If Range("H1").Value = "1" Then Workbook.UpdateLink Name:= _ "K:\Group\Sales\Аналитика\БАЗА.xls" , Type _ :=xlExcelLinks Else Range("A1").Value = Time End If End Sub но дает ошибку. не пойму( |
04.06.2008, 16:35 | #4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
В файле отчет при старте формируем отчет из базы и записываем время последнего изменения базы. Потом с помощью application.OnTime через определенное время, сверяем время последнего сохранения базы с тем, что записали на старте. Если не совпадают... обновляем данные, перезаписываем время последнего сохранения базы. И снова онТайм...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
04.06.2008, 16:52 | #5 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
Спасибо! Щас попробую. думаю должно получиться
|
04.06.2008, 17:39 | #6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
вот заготовочка:
дата последнего изменения базы записывается в ячейку(1,1). Необходимо заменить на реальную секретную ячейку и раскомментировать две строки, где это делается. В таком виде, как здесь записано, обновления будут происходить постоянно. UpDateData - необходимо наполнить необходимым кодом. Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
09.06.2008, 18:42 | #7 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
Спасибо, еще не совсем допонял, но разберусь.
Помогите еще с одной проплемой: У меня в ячейке А1 переодически меняется значение, после этого в ячейке Н8 пишется "1" вот по этому макросу Private Sub Worksheet_Change(ByVal Target As Excel.Range) Range("H8").Value = "1" End Sub Беда в том, что потом он зацикливается. Excel принимает за изменение в ячейке H8...., а мне надо чтобы он принимал за изменение ТОЛЬКО в ячеке А1. Как сделать? |
09.06.2008, 19:00 | #8 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
одной из первых строк в
Private Sub Worksheet_Change(ByVal Target As Excel.Range) пишем If Intersect(Range("H8"), Target) Is Target Then Exit Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
09.06.2008, 19:28 | #9 |
Пользователь
Регистрация: 07.11.2007
Сообщений: 91
|
По первому вопросу - средствами только Экселя это сделать затруднительно, нужно, имхо, систему подключать
|
09.06.2008, 19:44 | #10 |
Старожил
Регистрация: 12.05.2007
Сообщений: 2,339
|
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Импорт данных из другой книги | AntonFox | Microsoft Office Excel | 8 | 18.08.2008 17:17 |
макрос VBA Excel | Bor | Microsoft Office Excel | 5 | 25.01.2008 12:20 |
Как мне из формы одного проекта запустить другой | Diimka | Помощь студентам | 2 | 13.12.2007 21:41 |
использование в макросе другой книги | Роня | Microsoft Office Excel | 19 | 13.09.2007 15:47 |