VBA中的PivotItem报告不存在的项

时间:2016-10-11 09:35:08

标签: excel vba excel-vba

我有一个VBA代码,它通过更改PivotFilter来打印数据透视表(如下所示)。

我的问题是,在打印完最后一个PivotItem(pivF = 27)后," pivI.Name"更改为" 999",这在我的工作表和数据透视表中不存在。因此,宏报告错误消息"运行时错误5"。

有趣的是,同一文件中另一个工作表中的相同代码可以正常工作而不会出现错误!

有人可以帮我吗?

Private Sub CommandButton3_Click()
Dim pivF As PivotField
Dim pivI As PivotItem

Set pivF = ActiveSheet.PivotTables("Tourenplan").PivotFields("Tour")

Application.ScreenUpdating = False

For Each pivI In pivF.PivotItems
    pivF.CurrentPage = pivI.Name
    ActiveWindow.SelectedSheets.PrintOut
Next pivI

Application.ScreenUpdating = True
End Sub

非常感谢,
DIO

1 个答案:

答案 0 :(得分:3)

昨天我遇到了同样的问题...

检查Pivot Table options(右键点击表格),在Data tab中,您应找到Retain items deleted from the data source,为None选择Number of items to retain per field,然后刷新

如果不起作用,请更改设置(Data tab上的所有设置),保存,关闭,再次打开,再次检查相同选项并将Number of items to retain per field设置为{{1} }。