добрый день, помогите пожалуйста.
Сделал тут файл для работы, чтобы онлайн наблюдать за поступающими звонками (специфика работы). На основе ODBC драйвера при помощи sql, который каждые 15 минут импортирует в Excel данные из другой программы по звонкам, на "Лист3", на "Листе1" на основе таблиц, которые находятся на "Листе3" создал сводные таблице на "Листе1", с которых на "Листе2" отображаются диаграммы и динамические данные. Так вот, логика в том, что я также добавил на "Лист3" VBA запрос, который по логике после обновления данных на "Листе3" обновляет данные на "Листе1", т.е. обновления сводных таблиц происходит каждые 15 минут. Но проблема в следующем, если этот файл Excel открыт в активном окне - всё обновляется хорошо, проблем не возникает. Но если данный файл находится в неактивном окне и открыты другие отчеты Excel он выдает ошибку "time error 9: subscript out of range". Я так понимаю, что он пытается ссылаться на активный Excel, данных не находит, которые нужно обновить и ругается, не обновляя данные. Подскажите, пожалуйста, как мне изменить VBA запрос, либо каким образом вообще можно решить данную проблему?!
Запрос строю такой (в книге всего 3 листа: "Лист1", "Лист2", "Лист3"):
Private Sub Worksheet_Change(ByVal Target As Range)
For Each PvTable In Sheets("Лист1").PivotTables
PvTable.PivotCache.Refresh
Next
End Sub
Сам файл я также прилагаю, чтобы можно было посмотреть VBA запрос, находится на "Листе3".
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
Сделал тут файл для работы, чтобы онлайн наблюдать за поступающими звонками (специфика работы). На основе ODBC драйвера при помощи sql, который каждые 15 минут импортирует в Excel данные из другой программы по звонкам, на "Лист3", на "Листе1" на основе таблиц, которые находятся на "Листе3" создал сводные таблице на "Листе1", с которых на "Листе2" отображаются диаграммы и динамические данные. Так вот, логика в том, что я также добавил на "Лист3" VBA запрос, который по логике после обновления данных на "Листе3" обновляет данные на "Листе1", т.е. обновления сводных таблиц происходит каждые 15 минут. Но проблема в следующем, если этот файл Excel открыт в активном окне - всё обновляется хорошо, проблем не возникает. Но если данный файл находится в неактивном окне и открыты другие отчеты Excel он выдает ошибку "time error 9: subscript out of range". Я так понимаю, что он пытается ссылаться на активный Excel, данных не находит, которые нужно обновить и ругается, не обновляя данные. Подскажите, пожалуйста, как мне изменить VBA запрос, либо каким образом вообще можно решить данную проблему?!
Запрос строю такой (в книге всего 3 листа: "Лист1", "Лист2", "Лист3"):
Private Sub Worksheet_Change(ByVal Target As Range)
For Each PvTable In Sheets("Лист1").PivotTables
PvTable.PivotCache.Refresh
Next
End Sub
Сам файл я также прилагаю, чтобы можно было посмотреть VBA запрос, находится на "Листе3".
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>