我在Excel中有一个图表。我在图表上添加了一个形状:

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


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

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

Sub Macro6()

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

End Sub


我原本希望绿色框位于橙色图表区域的左上方,但如您所见,在顶部/左侧零坐标开始之前似乎存在某种余量。

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

最佳答案

尝试使用IncrementLeftIncrementTop

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

07-24 09:51