我有一个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
答案 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} }。