你好,
我有一个 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, 门诺
将字段作为
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")
而无需先选择它。
新数据字段的标题必须与数据透视表中的现有字段不同。
基本上,数据透视字段的名称及其标题不能同时是
pf
变量
添加“Sum of”可以解决该问题,但添加任何其他字符串来区分新字段也可以解决该问题。