修改现有的计算字段公式

时间:2018-02-16 03:41:13

标签: excel vba excel-vba

我在excel 2010仪表板模板中有许多计算字段,当数据最初输入数据透视表时会出现#name错误。

'This is the calculated field 'Field1'
=100-('#NAME?'/'#NAME?')*100

为了避免这种情况,我想在我第一次填充数据时修改这些字段中的公式,但除了删除之外我找不到任何内容,并且我想要避免再次添加它。

我已经尝试过录制自己修改它但是由于某种原因它在添加到我的例程时不会更新。作为参考,我把它放在下面的代码部分在下面工作正常('Details'是一个集合)但它仍然没有因某种原因更新计算字段。

Workbooks(WB_Name).Worksheets("Total").Range("A" & Last_Row).Resize(UBound(Details), 47).Value = Details

'"Total" is the sheet where the source data is kept while "Stats" is where 
'the pivot tables are. I've chosen PT1 for no particular reason but there are
'about 5 others.

WB_Name.Worksheets("Stats").PivotTables("PivotTable1").CalculatedFields("Field1").StandardFormula = _
"=100-(Field2/Measured)*100"
ActiveWorkbook.RefreshAll

通过在excel中手动将其更改为正确的公式,一切都正确填充。

提前致谢!

1 个答案:

答案 0 :(得分:0)

因此,对于简短的更新,我需要做的就是在之后修改计算字段我刷新了枢轴。我假设它没有工作,因为它还没有真正破碎......

现在有一个关于如何在excel中修改计算字段的答案!

ActiveWorkbook.RefreshAll
ActiveWorkbook.Worksheets("Stats").PivotTables("PivotTable1").CalculatedFields("Field1") _
.StandardFormula ="=100-(Field2/Measured)*100"