我为每周需要运行的报表创建了一些数据透视表和图表。每周,我需要显示最近20周的数据。因此,枢轴字段(pvtF)上的过滤器需要每周更新。将可见性设置为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)不在原始数据集中,也根本不在数据透视表中。当选择了这样一个不存在的值时,设置可见属性将导致错误。 基本上,我要求遍历pvtF中的所有PivotItem,并将Visible-property设置为True或False。我想根据定义,我应该不可能获得不存在的密钥。谁能帮助我进行可能需要执行的检查,以找出导致问题的原因?
我已经刷新了数据透视表,并检查引用是否仍然正确。
答案 0 :(得分:0)
即使您刷新了表格,也可能仍会记住,但与此同时遗漏了以下项目:
Dim pc As PivotCache
For Each pc In ActiveWorkbook.PivotCaches
pc.MissingItemsLimit = xlMissingItemsNone
pc.Refresh
Next pc