我试图在两个单独的图表中左对齐两个绘图区域。两个图表都有一个x轴和两个y轴。我尝试使用以下代码(我通过宏记录器获得),但图表未对齐。我还提供了问题的图片。我错过了什么?
编辑:我应该补充一点,Chart2
具有相同的宽度,但高度不同于Chart1
(如代码所示)。如果我将图表的尺寸设置为相同,则它们会完美对齐。我认为Left
和Top
对齐将垂直对齐绘图区域,因为它们都具有相同的宽度(1140)。)
VBA:
ActiveSheet.ChartObjects("Chart1").Activate
ActiveSheet.Shapes("Chart1").Width = 1200
ActiveChart.PlotArea.Select
Selection.Left = 10
Selection.Top = 8
ActiveChart.PlotArea.Select
Selection.Width = 1140
Selection.Height = 310
ActiveSheet.ChartObjects("Chart2").Activate
ActiveSheet.Shapes("Chart2").Width = 1200
ActiveChart.PlotArea.Select
Selection.Left = 10
Selection.Top = 8
ActiveChart.PlotArea.Select
Selection.Width = 1140
Selection.Height = 110
红色虚线表示错位:
答案 0 :(得分:0)
您可以使用plotArea的InsideLeft和InsideWidth方法
Sub alignPlotArea()
For Each chtObj In ActiveSheet.ChartObjects
chtObj.Activate
With ActiveChart.PlotArea
.InsideLeft = 40
.InsideWidth = 420
End With
Next chtObj
End Sub