使用ChartObjects

我有一个关于在Excel中用VBA修改ChartObject的轴的简单问题。

我有下面的代码,根据它正在绘制的数据修改轴的最小/最大值:

Worksheets("DurationByDate").ChartObjects("DurationByDateChart").Activate With ActiveChart.Axes(xlValue) .MinimumScale = iDurMin - 2 .MaximumScale = iDurMax + 2 End With 

这很好,但我不喜欢“激活”的对象,如果我不需要。

所以我试了下面的代码:

 With Worksheets("DurationByDate").ChartObjects("DurationByDateChart") _ .Axes(xlValue) .MinimumScale = iDurMin - 2 .MaximumScale = iDurMax + 2 End With 

这段代码会抛出一个错误:

运行时错误“438”:对象不支持此属性或方法

有谁知道为什么看起来图表需要被激活才能调整轴?

With语句的末尾添加.Chart

 With Worksheets("DurationByDate").ChartObjects("DurationByDateChart").Chart.Axes(xlValue)