Страницы: 1
RSS
Ошибка VBA - Run-time error 9: subscript out of range
 
добрый день, помогите пожалуйста.  
 
Сделал тут файл для работы, чтобы онлайн наблюдать за поступающими звонками (специфика работы). На основе 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>
 
Размерчик....  
 
Но попробуйте так:  
For Each PvTable In ThisWorkbook.Sheets("Лист1").PivotTables
 
{quote}{login=Hugo}{date=09.12.2010 04:14}{thema=}{post}Размерчик....  
 
Но попробуйте так:  
For Each PvTable In ThisWorkbook.Sheets("Лист1").PivotTables{/post}{/quote}  
 
Спасибо , попробую, протестирую, напишу результат.
 
{quote}{login=Hugo}{date=09.12.2010 04:14}{thema=}{post}Размерчик....  
 
Но попробуйте так:  
For Each PvTable In ThisWorkbook.Sheets("Лист1").PivotTables{/post}{/quote}  
 
Размерчик из-за сводных таблиц видимо:)  
Сейчас протестировал - ставил обновление на 3 минуты, 15 минут тестировал - вроде обновляет нормально, ошибки нет. Спасибо, за помощь. Ещё недельку потестируем, просто у меня не один такой файл с таким макросом... Их много:)
 
Добрый день!  
У меня выскакивает Ошибка - Run-time error 9: subscript out of range при выполнение кода:  
 
ChDir _  
"S:\BIG PROJECT\SAP\SAP НСИ\Группа НСИ 2011\" & wb1  
wb = "МВЗ (7)_2011_НСИ"  
 
Application.Workbooks(wb).Activate - на этом этапе выдает данную ошибку, если передвинуть курсор на следующую строку, то макрос дальше работает как надо.  
 
Application.Sheets("МВЗ БЕ 1000").Select  
 
Message = "Введите номер строки кода"  
Title = "Формирование для отправки кода"  
N = InputBox(Message, Title)  
 
Спасибо.
 
Имя книги надо указывать с расширением:  
wb = "МВЗ (7)_2011_НСИ.xls"  
или  
wb = "МВЗ (7)_2011_НСИ.xlsx"
Страницы: 1
Читают тему
Наверх