【发布时间】:2018-06-17 21:06:10
【问题描述】:
我有一个包含几个字段的数据透视表,我只想折叠一个数据透视表。我似乎无法让它工作,所以需要一些帮助。
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
我希望折叠最后一个字段,四。在我的第一个 With 末尾添加 .PivotFields("Four").ShowDetail = False 会给我一个应用程序定义或对象定义的错误。 “ShowDetails”结果相同。
另外,我尝试过使用 DrillTo,虽然我不太明白,但在 End With 之后的以下容量:
Dim pi as PivotItem
pi.DrillTo Field:= "Three"
再次,我得到一个错误。未设置对象变量或块变量。
我的头仍然围绕着 VBA,所以如果有人可以帮助我,那就太好了!
【问题讨论】:
标签: excel pivot-table vba