Mag*_*ism 4 excel charts vba excel-vba
我在我的VBA代码中循环几个图表时遇到了问题.我99.7%肯定这是一个非常容易和快速的解决方案,但我的大脑今天不工作.
我希望代码循环遍历ActiveSheet上的每个图表,并且对于图表包含的每个数据系列,我希望它添加系列的最后一个值.在我的例子中,我有9个图表,每个图表有3个系列(必然会改变,有些有2个,但我离题了).
我有以下代码
Sub AddLastValue()
Dim myChartObject As ChartObject
Dim myChart As Chart
Dim mySrs As Series
Dim myPts As Points
With ActiveSheet
For Each myChartObject In .ChartObjects
For Each myChart In .Chart
For Each mySrs In .SeriesCollection
Set myPts = .Points
myPts(myPts.Count).ApplyDataLabels Type:=xlShowValue
Next
Next
Next
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
如果我删除循环代码,只是做一个
Set myPts = ActiveSheet.ChartObjects(1).Chart. _
SeriesCollection(1).Points
myPts(myPts.Count).ApplyDataLabels type:=xlShowValue
Run Code Online (Sandbox Code Playgroud)
然后它适用于特定的图表和系列,所以我很肯定这是我正在弄乱的循环.
有人能告诉我在哪里弄乱了循环代码吗?
Dmi*_*liv 14
请尝试以下代码:
Sub AddLastValue()
Dim myChartObject As ChartObject
Dim mySrs As Series
Dim myPts As Points
With ActiveSheet
For Each myChartObject In .ChartObjects
For Each mySrs In myChartObject.Chart.SeriesCollection
Set myPts = mySrs.Points
myPts(myPts.Count).ApplyDataLabels Type:=xlShowValue
Next
Next
End With
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
27193 次 |
| 最近记录: |