gpt4 book ai didi

Excel VBA图表,仅在最后一点显示数据标签

转载 作者:行者123 更新时间:2023-12-04 21:16:40 27 4
gpt4 key购买 nike

我只想将数据标签添加到我的折线图上的最后一点,目前我正在使用下面的,它工作正常,但前提是我知道最后一点是什么数字。
我做了很多搜索并在 excel 帮助中找到了 points(points.count) 对象,但我似乎无法让它对我有用。
请您建议一种仅在我的图表上显示最后一点或(理想情况下)在工作表上显示所有图表的方法。

Sub Data_Labels()
'
' Data_Labels Macro

ActiveSheet.ChartObjects("Menck Chart").Activate
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.Delete
ActiveSheet.ChartObjects("Menck Chart").Activate
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Points(59).Select
ActiveChart.SeriesCollection(1).Points(59).ApplyDataLabels
ActiveChart.SeriesCollection(1).DataLabels.Select
Selection.Format.TextFrame2.TextRange.Font.Size = 9


End Sub

最佳答案

简短回答

 Dim NumPoints as Long
NumPoints = ActiveChart.SeriesCollection(1).Count
ActiveChart.SeriesCollection(1).Points(NumPoints).ApplyDataLabels

长答案

使用 ActiveChart是模糊的,需要额外的步骤来选择感兴趣的图表。如果您明确指定您感兴趣的图表,您的宏将更加健壮且更易于阅读。我还建议使用 With block ,或创建中间变量,因为读取 ActiveChart.SeriesCollection(1).Points一遍又一遍是痛苦的,并且会使您的代码困惑。尝试后一种方法如下:
 Dim chartMenck As Chart, menckPoints as Points, menckDataLabel as DataLabel
Set chartMenck = Sheet1.ChartObjects("Menck Chart").Chart
Set menckPoints = chartMenck SeriesCollection(1).Points
menckPoints(menckPoints.Count).ApplyDataLabels
Set menckDataLabel = menckPoints(menckPoints.Count).DataLabel
menckDataLabel.Font.Size = 9

在我看来,这几乎是原版的一半,而且更容易阅读。

关于Excel VBA图表,仅在最后一点显示数据标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23632152/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com