向数据透视表添加值字段时出现错误

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

你好,

我有一个 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, 门诺

excel vba pivot
2个回答
0
投票

将字段作为

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")
而无需先选择它。


0
投票

新数据字段的标题必须与数据透视表中的现有字段不同。

基本上,数据透视字段的名称及其标题不能同时是

pf
变量

添加“Sum of”可以解决该问题,但添加任何其他字符串来区分新字段也可以解决该问题。

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