首页 > 解决方案 > 将值字段添加到数据透视表时出现错误

问题描述

天,

我有一个 excel 宏,我将最后的数据组合到一个数据透视表中。但是,我也有一个向表添加值字段的子项。它看起来像这样:

Sub AddValuesField()
    Dim pvt As PivotTable
    Dim pf As String
    Dim pf_Name As String
    
    Dim sDatasheet  As String
    Dim sPivotName  As String
    sPivotName = "Pivot1"
    sDatasheet = "Documents with extracted fields"

    Sheets(sPivotName).Select
    Set pvt = Sheets(sPivotName).PivotTables("PivotTable1")
   
    pf = Sheets(sDatasheet).Range("A1").Value
    pvt.AddDataField pvt.PivotFields(pf), pf, xlSum
End sub

列的名称存储在 pf(pivotfield) 中。然而,我得到了我梦寐以求的最具描述性的错误:“1004 对象定义错误”

我希望这里有人可以帮助我:)

gr,门诺

标签: excelvbapivot

解决方案


在向数据透视表添加字段时Sum,您需要"Sum of"在名称前添加单词PivotField

更改您的线路:

pvt.AddDataField pvt.PivotFields(pf), pf, xlSum

到:

pvt.AddDataField pvt.PivotFields(pf), "Sum of " & pf, xlSum

注意:您不需要Select您的工作表,您可以直接使用Set pvt = Sheets(sPivotName).PivotTables("PivotTable1")而无需先选择它。


推荐阅读