我试图找出一种有效的方法,无论是否是VBA,来格式化我所拥有的折线图上的数据标签。
图表应在每个系列的最右侧数据标签上显示系列名称,而其余数据标签为空白。
目前我只是在每个系列中添加数据标签,然后分别格式化每个单独的数据标签 - 但除了几个系列之外,当我有多个点的系列时,这很慢。
有什么建议吗?感谢
答案 0 :(得分:0)
你可以循环遍历系列并在循环中放置
With currentSeries.points.first
.label = "lable name"
.font = font(...)
...
End With
这样您只需在每个系列中指定一个点。
答案 1 :(得分:0)
您可以使用VBA或直接执行此操作。
假设sc
是对SeriesCollection
的引用,请使用
Dim isr As Integer, nsr As Integer
nsr = sc.Count
Dim sr As Series
Dim dp As Point
Dim dl As DataLabel
Dim fn As Font
For isr = 1 To nsr
Set sr = sc(isr)
Set dp = sr.Points(1)
dp.HasDataLabel = True
Set dl = dp.DataLabel
dl.Text = "<your contents>"
Set fn = dl.Characters.Font
' Format the data label
Next isr
您必须替换"<your contents>"
。
请注意,您可以在此处设置对Excel范围的引用,而不是为数据标签设置固定值,这似乎是您的意图。
比你正在做的事情容易得多。
要选择单个数据点,请单击目标系列,然后:1)再次单击目标数据点,或者2)按向右箭头,选择第一个数据点。
然后添加数据标签,右键单击数据点,然后添加数据标签。
然后选择单个数据标签,单击数据标签一次(这将选择系列的所有数据标签,即使只有一个),然后:1)再次单击目标数据标签,或者2 )按右箭头,选择第一个数据标签。
然后编辑数据标签,转到公式栏并键入所需的内容。随意格式化。 请注意,您可以在此处设置对Excel范围的引用,而不是直接在数据标签中输入文字,这似乎是您的意图。