【问题标题】:Calculated Field in Pivot Table using Conditional Formula VBA使用条件公式 VBA 计算数据透视表中的字段
【发布时间】:2012-05-19 22:58:36
【问题描述】:

我有一个我无法解决的问题,我正在编写一个 Excel 宏来构建一个从表中获取数据的数据透视表。 当表中的字段为 0 时,我不想执行计算字段的计算并在数据透视表中显示空白单元格。

我的条件公式是这个:

=IF((field1=0),"",(field1/field2))

将此公式放入VBA如下

pt.CalculatedFields.Add Name:="ptfieldname", Formula:="=IF((field1=0),"",(field1/field2))"

显示一个空的数据透视表,当我使用数据透视表选项选项卡中的“字段、项目和设置”按钮将相同的公式放入 excel 时运行良好... 所以我认为这个公式是正确的,但我必须做些什么才能让它在 VBA 宏中也能很好地发挥作用?!

提前致谢

【问题讨论】:

    标签: excel vba pivot-table calculated-field


    【解决方案1】:

    欢迎来到 SO。我自己在这里很新,但最近发现它非常有用。

    无论如何,这就是你的答案。我通过使用宏记录器找到了它,以查看它在数据透视表中创建计算字段时使用的确切语法。希望我的寻找答案的方法可以帮助你以后自己找到更多的答案。

    问题在于您在 VBA 中引用公式的方式。 VBA 需要在引号内有实际的引号,所以

    =IF((field1=0),"",(field1/field2)) 
    

    pt.CalculatedFields.Add Name:="ptfieldname", Formula:="=IF((field1=0),"",(field1/field2))"
    

    需要

    =If(field1=0,"""",(field1/field2))
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-29
      • 1970-01-01
      • 1970-01-01
      • 2019-02-24
      • 1970-01-01
      相关资源
      最近更新 更多