Excel数据透视表问题使用VBA将列设置为“正在运行总计”

我正在使用VBA循环透视表,以便更新值以包括新的数据(来自外部源)并更新分组的开始和结束date。 这个代码工作…

For Each pvt In ws.PivotTables For Each pvtFld In pvt.RowFields rowLabel = pvtFld.Name pvtFld.DataRange.Group Start:=startDate, End:=endDate, By:=7, Periods:=Array(False, False, False, True, False, False, False) Next pvtFld ... [Trouble code will go here, but let me explain further] Next pvt 

我遇到的问题是刷新所有的“运行总数”重置为“不计算”。

录制macros对于其他电子表格是有帮助的但不是有用的

 ' Sets the "Total" Column from each Pivot to "Running Total" With ws.PivotTables("LOEPivot").PivotFields( _ "Total Planned LOE") .Calculation = xlRunningTotal .BaseField = "MOI" End With 

所以,我试图embedded另一个像这样…

 For each pvtCol in pvt.ColumnFields if pvtCol.Name Like .Name & "Total" Then pvtCol.Calculation = xlRunningTotal end if Next pvtCol 

虽然b / c列名称等于string“值”

我错过了不同的方法或财产吗?

我遇到了同样的困难,但是我find了解决办法。 看看我的马克我做了什么,我发现它设置“基地领域”错误(右键点击枢轴>显示值>运行合计在[显示基地领域])。

通过在.calculation之后添加.BaseField (例如.BaseField =“Week number”),你应该可以解决这个问题。

有可能这个链接也将帮助你http://www.brainbell.com/tutorials/Excel_VBA/Running_Total.html