gpt4 book ai didi

excel - 众多枢轴领域中的一个崩溃

转载 作者:行者123 更新时间:2023-12-02 21:20:46 25 4
gpt4 key购买 nike

我有一个包含几个字段的数据透视表,并且我只想折叠一个数据透视表字段。我似乎无法让它工作,所以需要一些帮助。

Dim pt As PivotTable
Dim pr As Range
Dim pc As PivotCache


Set pr = dataSht.UsedRange
Set pc = wb.PivotCaches.Create(xlDatabase, SourceData:=pr)
Set pt = pc.createPivotTable(wb.Worksheets(shtName).Range("A1"), strPivotName)


With pt

.PivotFields("One").Orientation = xlRowField
.PivotFields("One").Subtotals(1) = False
.PivotFields("Two").Orientation = xlRowField
.PivotFields("Two").Subtotals(1) = False
.PivotFields("Three").Orientation = xlRowField
.PivotFields("Three").Subtotals(1) = False
.PivotFields("Four").Orientation = xlRowField
.PivotFields("Four").Subtotals(1) = False


With .PivotFields("Sum of $$$ (000)")
.Orientation = xlDataField
.Caption = "% Total"
.Calculation = xlPercentOfParent
.BaseField = "Two"
.NumberFormat = "0.00%"

End With

我正在寻找折叠最后一个字段,四。将 .PivotFields("Four").ShowDetail = False 添加到第一个 With 的末尾会给我一个应用程序定义或对象定义的错误。 “ShowDetails”结果相同。

或者,我尝试过使用 DrillTo,尽管我不太理解它,但在 End With 之后以以下方式使用:

Dim pi as PivotItem
pi.DrillTo Field:= "Three"

我再次收到错误。未设置对象变量或 with block 变量。

我仍然对 VBA 很感兴趣,所以如果有人能帮助我那就太好了!

最佳答案

想通了!因此,对于将来可能遇到类似问题的用户:

我必须提升一个级别并专门识别数据透视表,因为它在 with pt 中不起作用

因此,在我的问题中的上述代码之后,我添加了

pt.TableStyle2 = "PivotStyleMedium3"
pt.PivotFields("Three").ShowDetail = False

end With

为什么它在我的第一个 with block 中不起作用,我不知道,但至少它可以工作。我的猜测是在数据透视表完全创建之前无法对其进行操作。或许。 耸耸肩

关于excel - 众多枢轴领域中的一个崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48157875/

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