在VBA中相对于另一个图表定位图表(在上面或下面)
我有一张有图表的纸。我正在使用另一个子对象创建另一个图表,并希望将其放置在第一个图表下 我知道如何使用.Top或.Left设置图表的位置,但不知道如何检索第一个图表的位置。有什么建议吗 我试过: Activesheet.ChartObjects(2).Top=Activesheet.ChartObjects(1).Top -->这很好,但图表是重叠的。我需要将最后一个“.Top”替换为“.Bottom”,但是“.Bottom”不被接受(事实上,我希望在第一张图表的底部有一点间隙) 听起来很容易,但做不到 谢谢,在VBA中相对于另一个图表定位图表(在上面或下面),vba,charts,position,Vba,Charts,Position,我有一张有图表的纸。我正在使用另一个子对象创建另一个图表,并希望将其放置在第一个图表下 我知道如何使用.Top或.Left设置图表的位置,但不知道如何检索第一个图表的位置。有什么建议吗 我试过: Activesheet.ChartObjects(2).Top=Activesheet.ChartObjects(1).Top -->这很好,但图表是重叠的。我需要将最后一个“.Top”替换为“.Bottom”,但是“.Bottom”不被接受(事实上,我希望在第一张图表的底部有一点间隙) 听起来很容易,
Al这就是你要尝试的吗
Option Explicit
Sub Sample()
Dim C1CO As ChartObject, C2CO As ChartObject
Set C1CO = ActiveSheet.ChartObjects("Chart 1")
Set C2CO = ActiveSheet.ChartObjects("Chart 2")
With C2CO
.Top = C1CO.Top + C1CO.Height + 10
.Left = C1CO.Left
End With
End Sub
没有
.Bottom
,但是这可以通过.Top+.Height
轻松计算出来,或者如果您想要一个间隙,.Top+.Height+4
(例如)非常感谢Alain。这似乎是可行的(虽然我不确定数字4是在什么尺度上测量的。当我尝试使用10时,图表是在相同的位置创建的)。好的,只是想出来了。多谢了,多谢了,汉克斯,西达斯。这似乎奏效了。你知道身高测量后的数字是多少吗?当我尝试8时(我需要一个较小的间隙),它是在相同的位置生成的