VBA更新数据系列forumla更改格式
我目前有一个意想不到的问题,我的代码。 假设dynamic更新图表对象的两个数据系列。 最近我又添加了一个系列(现在共有3个系列)。 数据系列正确更新,但问题是现在3系列的格式现在在每次更新发生时彼此交换。 这里是我的代码下面的更新发生:
Dim WrkSheet As String WrkSheet = Application.Worksheets(X).Name If Background > 0 Then 'Update the background data series Application.Worksheets(X).ChartObjects("Main Chart").Chart.SeriesCollection(2).Formula = _ "=SERIES(""Background"",('" & WrkSheet & "'!$J$32:$J$" & (32 + Background - 1) & ",'" & WrkSheet & "'!$J$" & BackgroundStart2 & ":$J$" & (BackgroundStart2 + Background - 1) & ")," _ & "('" & WrkSheet & "'!$K$32:$K$" & (32 + Background - 1) & ",'" & WrkSheet & "'!$K$" & BackgroundStart2 & ":$K$" & (BackgroundStart2 + Background - 1) & "),2)" Else 'Make the application not graph background in this scenario End If 'Update the Peak data series Application.Worksheets(X).ChartObjects("Main Chart").Chart.SeriesCollection(1).Formula = _ "=SERIES(""Peak"",'" & WrkSheet & "'!$J$" & (PeakStart1) & ":$J$" & PeakEnd1 & ",'" & WrkSheet & "'!$K$" & PeakStart1 & ":$K$" & PeakEnd1 & ",1)" 'Update the peak background data series Application.Worksheets(X).ChartObjects("Main Chart").Chart.SeriesCollection(3).Formula = _ "=SERIES(""Step Background"",'" & WrkSheet & "'!$J$" & (PeakStart1) & ":$J$" & PeakEnd1 & ",'" & WrkSheet & "'!$O$" & PeakStart1 & ":$O$" & PeakEnd1 & ",1)"
一旦这段代码完成,3个系列集合对象中的每一个都会正确更新,但每个更改的关联格式都会更改。 我相信系列集合可能会被删除并重新创build删除格式,但我不确定为什么会这样。 任何帮助将是伟大的。
SERIES
调用的最后一个参数是索引顺序。 你有两个1,第一个有一个2.他们可能会相互替代你走。 您应该按顺序(与SeriesCollection
的位置相同)对其进行编号。
代码显示改变似乎是错误的最后一个公式。
"=SERIES(""Step Background"",'" & WrkSheet & "'!$J$" & (PeakStart1) & ":$J$" & PeakEnd1 & ",'" & WrkSheet & "'!$O$" & PeakStart1 & ":$O$" & PeakEnd1 & ",3)"
请注意,我将最后一行从1
更改为3
以匹配SeriesCollection(3)
SERIES
公式的优秀参考。 http://peltiertech.com/Excel/ChartsHowTo/ChartSeriesFormula.html