Vba 将数据标签添加到列堆叠图表中的每个段
我有以下代码,可以根据从该Vba 将数据标签添加到列堆叠图表中的每个段,vba,excel,Vba,Excel,我有以下代码,可以根据从该宏的上一部分传入的值为我生成图表 Set graph2 = graphSheet.ChartObjects.Add(Left:=200, Top:=200, Width:=450, Height:=300) graph2.Chart.ChartWizard graphSheet.Range("A1:C5"), gallery:=xlColumnStacked, PlotBy:=xlColumns, serieslabels:=1, _
宏的上一部分传入的值为我生成图表
Set graph2 = graphSheet.ChartObjects.Add(Left:=200, Top:=200, Width:=450, Height:=300)
graph2.Chart.ChartWizard graphSheet.Range("A1:C5"), gallery:=xlColumnStacked, PlotBy:=xlColumns, serieslabels:=1, _
HasLegend:=True, Title:="Cumulative Operating Portfolio", categorytitle:="Year", _
valuetitle:="MW_dc", categorylabels:=1
它工作得很好,但是,我想将数字数据标签添加到堆叠图的每个段。我尝试了以下代码,以查看是否可以实现其中的任何部分:
With graph2.SeriesCollection(1)
.HasDataLabels -True
.DataLabels.NumberFormat = "####.##"
End With
这不起作用,这并不奇怪,因为我对属性不太了解。如何添加数据标签?序列集合
是图表
属性的成员,而不是图表对象
ChartObject
|
> Chart
|
> SeriesCollection
因此,要使上述代码正常工作,请使用以下代码:
With graph2.Chart.SeriesCollection(1)
.HasDataLabels = True
.DataLabels.NumberFormat = "####.##"
End With
graph2
是否定义为ChartObject
?我想你有一个打字错误,应该是。HasDataLabels=True
而不是。HasDataLabels-True
哦,那太尴尬了。谢谢你的语法知识。Graph2被定义为ChartObject
。我更新了,在中添加了该初始化。或者我应该澄清一下,并说是作为ChartObjects
。不确定这些是否不同,如果是,它们有多不同(ChartObject
vsChartObjects
),所以它;她现在在工作吗?不,上面的不起作用。我得到的对象不支持。。。错误。