但是我需要每个数据标签都位于要创建的直线上的中心,而不是直线的终点。我有以下内容:
Set mypts = mysrs.Points
mypts(mypts.Count).ApplyDataLabels
With mypts(mypts.Count).DataLabel
.ShowSeriesName = True
.ShowCategoryName = False
.ShowValue = False
' optional parameters
.Orientation = 0
.Position = xlLabelPositionAbove
.Font.Size = 10
.Font.Bold = True
End With
有人知道如何居中数据标签吗?我通过给每个系列起一个名字来给它命名?
答案 0 :(得分:0)
在每行上方放置一个标签居中将涉及创建另一个数据系列,以计算该行的中心。在无法访问您的数据的情况下,我转向了@JonPeltier出色的post on connecting two XY data series。
您的问题涉及您的自定义VBA代码。我的示例应作为设置数据所需的步骤。您可以选择在工作表上设置数据,也可以让VBA代码创建此“额外”数据系列以添加到图表中(再次,因为我不知道您的数据是什么样,我不建议这样做一种针对您问题的解决方案)。
我不会重复创建图表的所有详细信息,但这是数据和结果图表的示例:
现在,设置中点数据并不困难。中间点是快速公式=((D2-A2)/2)+A2
,复制到该列中。
添加到图表中,选择“ MidPoint”和“ Value”列,然后 cntl + c 复制数据,然后选择图表并“选择性粘贴”为一个新的数据系列。
A快速说明:请勿将中点数据与A和B数据放在同一行。我最初是这样做的,然后Excel(以自己的个人智慧)将数据与A列相关联。图表上的结果不太好。
下一步是选择新的数据系列,然后选择“添加数据标签”,然后选中“来自单元格的值”框。选择标签的数据范围,例如单元格C17:C20
。
最后,格式化标签以仅显示“来自单元格的值”(取消选中“ Y”数据标签)并将标记设置为“无”。然后,您就获得了行的居中标签。