VBA从数据透视表中删除CalulatedField

问题描述 投票:2回答:2

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

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时,我得到“对象不支持此属性或方法”错误。有任何想法吗?

谢谢

excel vba excel-vba
2个回答
2
投票

请尝试以下代码:

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

0
投票

能够通过修改https://www.thespreadsheetguru.com/blog/2014/9/27/vba-guide-excel-pivot-tables上的代码来解决这个问题

© www.soinside.com 2019 - 2024. All rights reserved.