在VBA中相对于另一个图表定位图表(在上面或下面)

在VBA中相对于另一个图表定位图表(在上面或下面),vba,charts,position,Vba,Charts,Position,我有一张有图表的纸。我正在使用另一个子对象创建另一个图表,并希望将其放置在第一个图表下 我知道如何使用.Top或.Left设置图表的位置,但不知道如何检索第一个图表的位置。有什么建议吗 我试过: Activesheet.ChartObjects(2).Top=Activesheet.ChartObjects(1).Top -->这很好,但图表是重叠的。我需要将最后一个“.Top”替换为“.Bottom”,但是“.Bottom”不被接受(事实上,我希望在第一张图表的底部有一点间隙) 听起来很容易,

我有一张有图表的纸。我正在使用另一个子对象创建另一个图表,并希望将其放置在第一个图表下

我知道如何使用.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时(我需要一个较小的间隙),它是在相同的位置生成的