han*_*sta 5 excel vba textbox excel-vba
我想知道如何将文本框附加到我正在处理的宏的Excel图表中的点或线.我一直在用这样的.AddTextbox方法
.Shapes.AddTextbox(msoTextOrientationHorizontal, 150, 250, 100, 15) _
.TextFrame.Characters.Text = "Temperature"
Run Code Online (Sandbox Code Playgroud)
但是我必须手动将文本框拖动到它所代表的图表上的线上,因为图表的方向不是线.有没有办法将线/点转换为图表方向,我可以将其用作变量?或另一种方式?可能使用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
Run Code Online (Sandbox Code Playgroud)
结果如下图所示。
