Loop through Pivot field возвращает несуществующие значения - PullRequest
0 голосов
/ 19 февраля 2019

Я создал несколько сводных таблиц и диаграмм для отчета, который должен запускаться еженедельно.Каждую неделю мне нужно показывать данные за последние 20 недель.Следовательно, фильтр в сводном поле (pvtF) необходимо обновлять каждую неделю.Установка Visible-свойства в True или False работает хорошо.

'Clear Out Any Previous Filtering at this field
pvtF.ClearAllFilters
'Start loop through PivotItems
For Each sKey In pvtF.PivotItems
  If CLng(sKey) >= nDate1 And CLng(sKey) <= nDate2 Then
    ' Date1 <= Key <= Date2, so make item visible
    pvtF.PivotItems(sKey).Visible = True
  Else
    pvtF.PivotItems(sKey).Visible = False
  End If
Next sKey

Когда я перебираю pvtF.PivotItems, есть значения (sKey), которых нет в исходном наборе данных и вообще не в сводной таблице.,Когда выбрано такое несуществующее значение, установка свойства visible приведет к ошибке.По сути, я прошу просмотреть все PivotItems в pvtF и установить для свойства Visible значение True или False.Я думаю, что по определению не должно быть возможности получить ключи, которых не существует.Может ли кто-нибудь помочь мне с проверками, которые мне могут понадобиться, чтобы выяснить, в чем причина моей проблемы?

Я уже обновил сводную таблицу и проверил, была ли ссылка по-прежнему правильной.

1 Ответ

0 голосов
/ 19 февраля 2019

Даже если вы обновили таблицу, там все равно можно вспомнить, но тем временем пропущенные пункты:

Dim pc As PivotCache
For Each pc In ActiveWorkbook.PivotCaches
    pc.MissingItemsLimit = xlMissingItemsNone
    pc.Refresh
Next pc
...