Excel VBA图表自动形状左上角位置
我有一张Excel表格。我在图表中添加了一个形状,其中包含: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 我原以为绿色框会齐平地放置在橙色图表区域的左上角,但
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的一个大打击者可以照亮这个黑暗的角落!