我在Excel中有一个包含60个不同数据系列的折线图,每周更新一次。在此图表中,我想编写一个宏来选择折线图中的最新数据点,并添加格式为100.00的数据标签(带小数点后两位的数字)。
我现在使用以下代码删除所有数据标签:
Sub Delete_labels()
ActiveChart.ApplyDataLabels xlDataLabelsShowNone
End Sub
要添加数据标签,我也想使用代码。我一直在试验下面的代码:
Sub Add_last_label()
ActiveChart.ApplyDataLabels xlDataLabelsShowLabel, , , , True, False, False, False, False
End Sub
但是,此代码会将数据标签添加到每个数据点,从而造成巨大的混乱。字符串“,,,, True,False,False,False,False”必须适应只添加图表中的最后一个数据标签,但我不确定如何。
有没有人知道如何以100.00格式(带两个小数点)将标签数据到每个系列的最后一个点?
答案 0 :(得分:0)
我找到了答案。以下代码有效:
Sub Update_labels()
ActiveChart.ApplyDataLabels xlDataLabelsShowNone
Dim iSrs As Long
Dim iPts As Long
For iSrs = 1 To ActiveChart.SeriesCollection.Count
With ActiveChart.SeriesCollection(iSrs)
iPts = .Points.Count
With .Points(iPts)
.ApplyDataLabels
' .DataLabel.ShowSeriesName = -1
' .DataLabel.ShowLegendKey = -1
.DataLabel.NumberFormat = "#,##0.00"
'ActiveChart.SeriesCollection(1).DataLabels.NumberFormat = "#,##0.00"
End With
End With
Next
End Sub
取消注释ShowSeriesName和ShowLegendKey以显示这些项目。