Excel VBA图表自动形状左上角位置

Excel VBA图表自动形状左上角位置,vba,excel,charts,position,Vba,Excel,Charts,Position,我有一张Excel表格。我在图表中添加了一个形状,其中包含: excelChart.Shapes.AddShape(msoShapeRectangle, 0, 0, excelChart.ChartArea.width, 15) 我选择了绿色框并运行了以下宏: Sub Macro6() Selection.ShapeRange.Left = 0 Selection.ShapeRange.Top = 0 End Sub 我原以为绿色框会齐平地放置在橙色图表区域的左上角,但

我有一张Excel表格。我在图表中添加了一个形状,其中包含:

excelChart.Shapes.AddShape(msoShapeRectangle, 0, 0, excelChart.ChartArea.width, 15)

我选择了绿色框并运行了以下宏:

Sub Macro6()

    Selection.ShapeRange.Left = 0
    Selection.ShapeRange.Top = 0

End Sub
我原以为绿色框会齐平地放置在橙色图表区域的左上角,但正如您所看到的,在左上角零坐标开始之前,似乎有一些空白


如何以编程方式将绿色框对齐放置在角落?

尝试使用
IncrementLeft
IncrementTop

Sub AddBox()
    Dim cht As Chart

    Set cht = Worksheets(1).ChartObjects(1).Chart

    With cht.Shapes.AddShape(msoShapeRectangle, 0, 0, cht.ChartArea.Width, 15)
        .Name = "MyShape"
        .IncrementLeft -5  //Experiment with number to get desired effect
        .IncrementTop -5
    End With
End Sub

谢谢,这就是我最后要做的。我希望我能读到一些属性,这些属性可以给我这个边距/填充的确切值,而不是硬编码5.我花了45分钟在图表对象模型上查看MSDN文档,但没有看到任何明显的属性。我同意,我的解决方案有点困难。也许VBA的一个大打击者可以照亮这个黑暗的角落!