excel - 数据透视表类的 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 是附件数据类型,确认是真/假数据类型
我想了解为什么我会收到此错误
解决方案
您不能将相同的字段(“部门”)添加到ColumnFields
和PageFields
。
推荐阅读
- angular - 错误:mat-table 上的 FormArray --> 找不到路径控件(Angular 6)
- encoding - 你能用不是 utf8 的编码来编写 Perl 6 脚本吗?
- oracle - ora-01722 更新记录时数字无效
- sql - SQL Server 数据库中的表具有互斥外键的最佳实践
- neo4j - 加载数据库命令后 Neo4j 不启动
- javascript - WAI 的轮播示例滑块具有不同的行为,带有 < > 箭头与底部的 123 个链接
- python - 还需要使用 lxml getpath 函数深入文本的绝对 xpath
- php - 购物车 ADD-TO-CART 按钮未在 laravel 5.7 中获取数据
- swift - 使用键盘将文本字段按顺序排列。斯威夫特 4.2,Xcode 10
- javascript - 在三个 RadionButtonList 中选择一项?