gpt4 book ai didi

vba - 无法设置 PivotItem 类 (VBA) 的 Visible 属性

转载 作者:行者123 更新时间:2023-12-03 18:33:17 29 4
gpt4 key购买 nike

我正在尝试通过 VBA 操作 Excel 2007 数据透视表,这样我就可以遍历数据透视表的类别,将所有内容设置为不可见,但将工作表另存为 pdf 并继续下一个类别。为此,我使用以下代码。

Dim pf As PivotField
Set pf = ActiveSheet.PivotTables("PivotTable1").PivotFields("NAME")

Dim pi as PivotItem
For Each pi In pf.PivotItems

If pi.Visible = False Then
pi.Visible = True 'Error here
End If

Dim pi2 As PivotItem
For Each pi2 In pf.PivotItems
If pi2 <> pi Then
pi2.Visible = False
End If
Next pi2

'Saving to PDF goes here
Next pi

循环似乎是第一次工作。每个类别都会被取消选择,但第一个类别会输出一个不错的 PDF 文件。下次它进入循环时,它会在指示的行出现“无法设置 PivotItem 类的 Visible 属性”错误。我知道在数据透视表中必须至少选择一个项目,但这不是问题,因为我试图将可见性设置为 TRUE 而不是 FALSE。

我尝试通过检查它来修复它,因为也许您不允许将已经可见的 PivotItem 设置为可见,但这似乎不起作用。

任何帮助将不胜感激!

最佳答案

这是由于 Pivot 表使用缓存的数据透视项目而不是当前数据。确保 table 没有保留任何旧元素。为此,请右键单击您的数据透视表,单击“数据”选项卡并将“每个字段保留的项目数”设置为“无”。在 VBA 中执行此操作的代码是:

Dim pt As PivotTable

pt.PivotCache.MissingItemsLimit = xlMissingItemsNone

关于vba - 无法设置 PivotItem 类 (VBA) 的 Visible 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11468705/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com