我尝试使用VBA创建的数据透视表创建自定义报告,而我遇到问题的其中一个部分是将数据字段设置为基于用户的需求。
例如: 我有一个下拉菜单,显示每种类型的PivotFields函数(总和,最小值等),并根据用户选择它存储为字符串变量。
当我运行我的代码时:
Dim valueXL As String
valueXL = xlSum
With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType)
.Function = valueXL
.NumberFormat = "$#,##0.00"
End With
我收到错误,但是,如果我用.Function = xlSum替换.Function = valueXL它可以正常工作。
有没有办法动态设置.Function值?
由于
答案 0 :(得分:3)
由于xlSum是一个数字Excel常量,您应该将valueXL更改为整数
Dim valueXL As Integer
valueXL = xlSum
或在代码中直接使用常量
With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType)
.Function = xlSum
.NumberFormat = "$#,##0.00"
End With
答案 1 :(得分:0)
我找到了一个可能的解决方案,它正在使用Evaluate函数,但是我想知道是否还有其他解决方案?
如果没有,我可以选择这个作为答案。