![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу. Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста". Название темы слишком короткое или не отражает сути вашего вопроса. Тема исчерпала себя, помните, один вопрос - одна тема Прочитайте правила и заново правильно создайте тему. |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
![]()
Друзья, помогите!
Задача такая: На сетевом диске лежит файл Excel (Условно назовём "БАЗА"). Существует другой файл (Условно назовём "Отчет"). Так вот, надо сделать так что бы при изменении "БАЗА", даже если он будет закрыт и просто его пересохранили, в "Отчет" заработал макрос. Допустим, пишет в ячейке А1 листа "Правка" фразу "файл был изменен" Спасибо. |
![]() |
![]() |
#2 |
Дон Кихот
Форумчанин
Регистрация: 17.01.2008
Сообщений: 130
|
![]()
Событие на запись перехватывать надо... Но это нужно чтобы у Вас и у того, кто будет его открывать в настройке Excel по умолчанию макросы стартовались...
|
![]() |
![]() |
#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 но дает ошибку. не пойму( |
![]() |
![]() |
#4 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
В файле отчет при старте формируем отчет из базы и записываем время последнего изменения базы. Потом с помощью application.OnTime через определенное время, сверяем время последнего сохранения базы с тем, что записали на старте. Если не совпадают... обновляем данные, перезаписываем время последнего сохранения базы. И снова онТайм...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#5 |
Пользователь
Регистрация: 07.04.2008
Сообщений: 36
|
![]()
Спасибо! Щас попробую. думаю должно получиться
|
![]() |
![]() |
#6 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
![]()
вот заготовочка:
дата последнего изменения базы записывается в ячейку(1,1). Необходимо заменить на реальную секретную ячейку и раскомментировать две строки, где это делается. В таком виде, как здесь записано, обновления будут происходить постоянно. UpDateData - необходимо наполнить необходимым кодом. Код:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#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. Как сделать? |
![]() |
![]() |
#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
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
![]() |
![]() |
#9 |
Пользователь
Регистрация: 07.11.2007
Сообщений: 91
|
![]()
По первому вопросу - средствами только Экселя это сделать затруднительно, нужно, имхо, систему подключать
|
![]() |
![]() |
#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 |