我正在使用VBA循环遍历数据透视表,以便更新值以包含新数据(来自外部源)并更新分组的开始和结束日期。这段代码有用......
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
我遇到的问题是刷新所有"运行总计"被重置为"没有计算。
录制宏很有帮助,但对其他电子表格无用
' Sets the "Total" Column from each Pivot to "Running Total"
With ws.PivotTables("LOEPivot").PivotFields( _
"Total Planned LOE")
.Calculation = xlRunningTotal
.BaseField = "MOI"
End With
所以,我试图像这样嵌入另一个For each
......
For each pvtCol in pvt.ColumnFields
if pvtCol.Name Like .Name & "Total" Then
pvtCol.Calculation = xlRunningTotal
end if
Next pvtCol
虽然b / c列名等于字符串"值"
但这不起作用我缺少不同的方法或属性吗?
答案 0 :(得分:0)
我遇到了同样的困难,但是我找到了解决方案。在看了我的marco之后,我发现它设置了“基地”字段'错误(右键单击数据透视>在>中显示>显示运行总计的值[显示基本字段])。
在.BaseField
之后添加.calculation
(例如.BaseField ="周号"),您应该可以解决此问题。
此链接可能也会帮助您http://www.brainbell.com/tutorials/Excel_VBA/Running_Total.html。