我想知道如何将文本框附加到我正在处理的宏的 Excel 图表中的点或线。我一直在使用.AddTextbox
方法如
.Shapes.AddTextbox(msoTextOrientationHorizontal, 150, 250, 100, 15) _
.TextFrame.Characters.Text = "Temperature"
但我必须手动将文本框拖动到它所表示的图表上的线上,因为方向是图表而不是线。有没有办法将线/点转换为图表方向,我可以将其用作变量?或者其他方式?可能使用 datalabel 函数,但我希望能够自定义轴位置之一。谢谢
要解决您的问题,您需要获取两个对象的左侧和顶部位置:
- 图表本身,相对于工作表范围区域的左上角设置的位置
- 系列中的点,其位置相对于图表左上角设置
将两个结果与以下代码相结合(固定参数需要根据您的情况进行更改,可以通过循环变得更加动态)
Sub Add_Text_to_point()
Dim tmpCHR As ChartObject
Set tmpCHR = Sheet1.ChartObjects(1) 'put index of your chartobject here
'for first serie, for point 2nd here
'(change accordingly to what you need)
With tmpCHR.Chart.SeriesCollection(1).Points(2)
Sheet1.Shapes.AddTextbox(msoTextOrientationHorizontal, _
.Left + tmpCHR.Left, _
.Top + tmpCHR.Top, _
100, 15) _
.TextFrame.Characters.Text = "Temperature"
End With
End Sub
结果如下图所示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)