宏以选择折线图中的最后一个数据点并添加数据标签

时间:2015-06-15 02:11:13

标签: excel excel-vba vba

我在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格式(带两个小数点)将标签数据到每个系列的最后一个点?

1 个答案:

答案 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以显示这些项目。