1
我想自动添加字段到已经创建的数据透视表。这些字段将是“期间1的总和”...“期间360的总和”。我已经有了1-60的时间,但是我错过了61-360。手动拖放300次将是一件痛苦的事情。所以我写了一个宏,但我得到的错误: 无法既然已经创建了数据透视表,以获得透视字段类数据透视表展开“值”VBA
的支点项目性质(这是一个大表有许多格式的怪癖),我不不想改变任何事情。我只是想把期间加上period61-period360的值。
我附上我的代码。任何人可以给我的帮助将非常感谢,因为我不知道我做错了什么,我试图不要太沮丧。
非常感谢您提前。
这里是我的代码:
'--------------------- Expand_Pivot_to_360M Macro-------------------'
Sub Expand_Pivot_to_360M()
' Setting Pivot field classes to the "unable to get pivot items property of the pivot field class" error
Sheets("Monthly Summary").Select
With ActiveSheet.PivotTables("PivotTable1").PivotFields("universe")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("buckets_break")
.Orientation = xlRowField
.Position = 2
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("pool_name")
.Orientation = xlRowField
.Position = 3
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("gl_company_code")
.Orientation = xlRowField
.Position = 4
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("LEP")
.Orientation = xlRowField
.Position = 5
End With
循环展开Pivit 360期
' Using a Loop to Expand Pivot for 360 periods
Dim i As Integer
For i = 61 To 360 ' start at period 61 since periods 1 to 60 already include in pivot
Sheets("Monthly Summary").Select
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_
"PivotTable1").PivotFields("Period_i"), "Sum of Period_i", xlSum
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of Period_i")
.Caption = "Count of Period_i"
.Function = xlCount
End With
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Count of Period_i")
.Caption = "Sum of Period_i"
.Function = xlSum
End With
Next i
End Sub
取代'_i“'和'_”&i' – Slai
谢谢你,我这样做,而不再得到“无法获得枢纽项目属性.. 。“错误,但我确实得到了另一个错误:应用程序定义或对象定义的错误”。请让我知道如果你能帮助,任何想法来解决这个问题?谢谢 –