首页 > 解决方案 > 数据透视表类的 AddField 方法在宏上失败

问题描述

我正在尝试开发一个宏,用于基于导出为 excel 格式的访问表创建数据透视图的自动化过程。但是,每当我尝试从宏将两个页面字段插入数据透视表时,我总是会收到此错误:

运行时错误“1004”

数据透视表类的 AddFields 方法失败

它总是显示为原因的那行代码就是这行代码

pt.AddFields RowFields:="RecordMonth", ColumnFields:="Department", PageFields:=Array("FiscalYear", "Department")

作为参考,这是我的数据透视生成宏代码

Option Explicit

Sub CreatePivotTable()

Dim pc As PivotCache
Dim ws As Worksheet
Dim pt As PivotTable



Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=Sheet1.Name & "!" & Sheet1.Range("A1").CurrentRegion.Address, Version:=xlPivotTableVersion15)

Set ws = Worksheets.Add
ws.Name = "MonthlyCalcTableTest"
Range("A3").Select

Set pt = pc.CreatePivotTable(TableDestination:=ActiveCell, TableName:="AutoGenTest")

pt.AddFields RowFields:="RecordMonth", ColumnFields:="Department", PageFields:=Array("FiscalYear", "Department")


pt.AddDataField pt.PivotFields("MonthlyDepartmentBudget"), Function:=XlConsolidationFunction.xlSum

pt.AddDataField pt.PivotFields("ConfirmedValue"), Function:=XlConsolidationFunction.xlSum


pt.DataFields(1).NumberFormat = "#,##0"


End Sub

这些是excel中的表列名称:

ID, 部门, MonthlyDepartmentBudget, FiscalYear, RecordMonth, Confirmation, AttachmentConfirmation, ConfirmedValue

AttachmentConfirmation 是附件数据类型,确认是真/假数据类型

我想了解为什么我会收到此错误

标签: excelvba

解决方案


您不能将相同的字段(“部门”)添加到ColumnFieldsPageFields


推荐阅读