将数据标签添加到Excel

时间:2015-05-11 19:43:02

标签: excel-vba charts format vba excel

我在excel工作表中有大约50个图表,我应该每月更新一次。 我需要一个VBA代码,它将数据标签添加到数据系列的最后一个点,添加到工作表中的所有图表。 我的每个图表都有3个系列,但是我需要将该月份的数据(最新点)添加到仅一个系列中,这将是年初至今的金额。 我不懂编写VBA代码。我已经看过几个代码,并尝试复制和进行小的更改,但没有代码适合我的要求。我不想每个月手动进行50次以上的更改,因此解决我的问题的任何事情都会非常有用。非常感谢你的帮助!

1 个答案:

答案 0 :(得分:0)

这样的事情应该让你开始:

Option Explicit

Private Sub AddLabelsLastPoint()

    Dim ch As ChartObject

    'Loop through each chart object
    For Each ch In Worksheets("Sheet3").ChartObjects

        'Grab the final series of the chart
        With ch.Chart.SeriesCollection(3)
            'Apply data label to final point in series
            .Points(.Points.Count).ApplyDataLabels
        End With

    Next ch


End Sub

使用 ALT + F11 打开VB编辑器(或转到开发人员 - >功能区上的Visual Basic),然后右键单击“Microsoft Excel对象” - >插入 - >模块

请务必将Worksheets("Sheet3")更改为您使用的任何工作表。此外,此代码假定您的YTD金额将始终是最后一个系列,因此每个图表的SeriesCollection(3)。如果不是这种情况,我们将需要修改代码,但这至少是一个起点。

既然你说你不懂编写VBA,我会指出另外两件事(与你的问题无关,但很高兴知道)。

首先是Option Explicit键盘。这会强制变量在可以使用之前声明。最好将此包含在您的VBA代码中。如果不包含此内容,则可能会出现意外结果(例如,如果拼错了变量名称)。

其次是Private关键字。这意味着只有当前模块中的代码才能访问子例程。

相关问题