Excel VBA - 使用变量设置数据透视表数据字段功能

时间:2016-05-05 04:53:40

标签: excel vba excel-vba dynamic pivot-table

我尝试使用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值?

由于

2 个答案:

答案 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函数,但是我想知道是否还有其他解决方案?

如果没有,我可以选择这个作为答案。