Excel VBA – 使用variables来设置数据透视表数据字段function

我试图创build使用VBA创build数据透视表的自定义报告,我遇到麻烦的一个部分是将数据字段设置为基于他的用户的需求。

例如:我有一个下拉菜单,显示每种types的PivotFields函数(sum,min max等),并根据用户select的内容将其存储为stringvariables。

当我运行我的代码时:

Dim valueXL As String valueXL = xlSum With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType) .Function = valueXL .NumberFormat = "$#,##0.00" End With 

我得到一个错误,但是,如果我replace.Function = valueXL与.Function = xlSum它工作正常。

有什么办法可以dynamic设置.Function的值吗?

谢谢

由于xlSum是一个数字的Excel常量,您应该将valueXL更改为整数

 Dim valueXL As Integer valueXL = xlSum 

或者在代码中直接使用常量

 With Worksheets(sheetPivotName).PivotTables(sheetPivotName).PivotFields(valueType) .Function = xlSum .NumberFormat = "$#,##0.00" End With 

我发现了一个可能的解决scheme,它使用了Evaluate函数,但是我想知道是否还有其他解决scheme?

如果没有,我可以select这个答案。