我似乎无法使用此代码。我得到运行时错误13'类型不匹配'。如代码所示,我想从Z6:Z9中的范围设置X和Y轴值。
Sub Axis()
Dim Cht As ChartObject
Set Cht = Worksheets("Data Input & Summary").ChartObjects("Chart 2").Chart
With Cht.Axes(xlCategory)
.MaximumScale = .Range("Z7").Value
.MinimumScale = .Range("Z6").Value
End With
With Cht.Axes(xlValue)
.MaximumScale = .Range("Z9").Value
.MinimumScale = .Range("Z8").Value
End With
End Sub
答案 0 :(得分:2)
通常,您的代码中有大约3个错误。 这就是它应该是这样的:
Sub AxisSomething()
Dim Cht As ChartObject
Set Cht = Worksheets(1).ChartObjects(1)
With Cht.Chart.Axes(xlCategory)
.MaximumScale = Worksheets(1).Range("Z7").Value
.MinimumScale = Worksheets(1).Range("Z6").Value
End With
With Cht.Chart.Axes(xlValue)
.MaximumScale = Worksheets(1).Range("Z9").Value
.MinimumScale = Worksheets(1).Range("Z8").Value
End With
End Sub
.Axes
,您应该参考图表对象的.Chart
。.
时,它都会引用上面的with
。 .Range
不应引用Chart.Axes(xlCategory)
StackOverflow
时,最好将其设为“可复制”。因此,Worksheets("Data Input & Summary")
的instad写Worksheets(1)
。然后自己修改名称。