VBA从数据透视表中删除CalulatedField

时间:2017-12-15 21:33:28

标签: excel vba excel-vba

我尝试编写一些代码来添加,然后从数据透视表中删除计算字段。以下是两段代码:

Sub AddPivotField()

    With Worksheets(1).PivotTables("PivotTable1")
        .AddDataField Worksheets(1).PivotTables( _
        "PivotTable1").PivotFields("hProdUtil"), "Sum of hProdUtil"
        .DataBodyRange.NumberFormat = "#0.0%"
    End With

End Sub

Sub RemovePivotField()

    With Worksheets(1).PivotTables(1).DataFields("Sum of hProdUtil")
        .Parent.PivotItems(.Name).Visible = False
    End With

End Sub

AddPivotField工作正常,但是当我运行RemovePivotField时,我得到"对象不支持这个属性或方法"错误。有什么想法吗?

由于

2 个答案:

答案 0 :(得分:2)

请尝试以下代码:

Sub RemovePivotField()
    With Worksheets(1).PivotTables(1).DataFields("Sum of hProdUtil")
        .Orientation = xlHidden
    End With
End Sub

答案 1 :(得分:0)

能够通过修改https://www.thespreadsheetguru.com/blog/2014/9/27/vba-guide-excel-pivot-tables

上的代码来解决这个问题