2015-11-04 2 views
0

У меня возникла проблема с обновлением сводного фильтра в VBA. То, что я хочу сделать, - это фильтровать точку опоры с последней датой в моем наборе записей (я получаю данные из базы данных Jet). Я пробовал код ниже для MS Excel 2010 и отлично работает. Я также пробовал это в Excel 2007 на одном из наших компьютеров и отлично работает. Однако, когда я развернул его на своем ПК клиентов, он возвращает «Ошибка 1004: Определенная программа или ошибка с определением объекта» в последней строке приведенного ниже кода. Странно, что у моего клиента есть Excel 2007.Не удалось обновить сводный фильтр VBA MS Excel 2007

У вас есть идея, почему это происходит?

 ActiveSheet.PivotTables(sPivotName).PivotFields(sPivotField).CurrentPage = "(All)" 
     ActiveSheet.PivotTables(sPivotName).PivotFields(sPivotField).ClearAllFilters 
     ActiveSheet.PivotTables(sPivotName).PivotFields(sPivotField).CurrentPage = CStr(rsDate("MaxValue")) 
+0

Ваши региональные настройки того же как ваш клиент? Установка полей страницы с датами очень сложна в неамериканских регионах. – Rory

+0

Нет, они разные. Шахта использует систему дат США (мм/дд/гггг), и клиент использует систему дат Европы (дд/мм/гггг). Но я проверил, что фильтр содержит одну и ту же строку даты, например «11/2/2015» - последняя дата, «11/2/2015» также находится в списке доступных значений на фильтре. Или преуспеть на компьютере моего клиента интерпретировать его как «2/11/2015»? –

+0

Мы изменили формат даты ПК клиента на систему дат США (мм/дд/гггг). Ошибка все еще существует. У вас есть идеи по этому поводу? –

ответ

0

Я был в состоянии решить эту проблему, просто обновлением Excel на компьютере клиента в Excel 2010. Хотя я до сих пор понятия не имею, почему он не работает в Excel 2007.

Смежные вопросы