我有以下代码:
Sub StandardiseChart(ByVal control As IRibbonControl)
Dim activeShape As Shape
'Determine Which Shape is Active
If ActiveWindow.Selection.Type = ppSelectionShapes Then
'Loop in case multiples shapes selected
Dim shp As Shape
For Each shp In ActiveWindow.Selection.ShapeRange
Set activeShape = shp ' First shape selected
Exit For
Next
'Now, reformat the selected shape if it is a chart
With activeShape
If .HasChart Then
' Chart title
.Chart.HasTitle = True
With .Chart.ChartTitle
.Left = 0
.Top = 0
End With
' Y axis
With .Chart.Axes(xlValue, xlPrimary)
.HasTitle = True
.AxisTitle.Text = "Placeholder"
.AxisTitle.Left = 0
.AxisTitle.Top = 20
.AxisTitle.Orientation = 0
End With
' Plot Area
With .Chart.PlotArea
.Left = 10
.Top = 50
End With
End If
End With ' activeShape
End If
End Sub
我想做的是三件事:
无论我做什么(我尝试将数字调整为70而不是50,甚至更大),我似乎都无法调整空间以实现(3)。具体来说,无论我做什么,绘图区都不会移动。
我在做什么错了?
答案 0 :(得分:1)
如果在Chart.Plotarea的末尾添加一个点,则可以看到方法列表。对于您而言,您要查找 .InsideLeft 和 .InsideTop ,因为您要调整距图表区域的内部距离:
With .Chart.PlotArea
.InsideLeft = 70
.InsideTop = 70
End With