在Excel中设置x轴的最大值和最小值

我有一个在x轴上有date的图表,我试图使用Excel VBA为该轴设置最大值和最小值。 我在同一个表中定义了MinXAxis和MaxXAxis值,这里是我的代码:

Sub UpdateChartAxes() With ActiveSheet.ChartObjects("Chart 1").Chart .Axes(xlCategory).MinimumScaleIsAuto = False .Axes(xlCategory).MinimumScale = Range("MinXAxis").Value .Axes(xlCategory).MaximumScaleIsAuto = False .Axes(xlCategory).MaximumScale = Range("MaxXAxis").Value End With End Sub 

当我运行这个代码时,我得到错误400,没有解释有关错误。 任何想法可能会出错?

Axis.MinimumScale属性

返回或设置数值轴上的最小值。 读/写双。

您应该将这些属性应用于值轴xlValue ,而不是类别轴。

设置这个属性也会设置MinimumScaleIsAuto = False所以你不需要这些行。

新增如果您使用一列,一栏,一行等图表,那么它们就有一个值和一个类别轴。 您只能设置数值轴的最小值或最大值。 即使将它们交换(x – y),仍然只有一个值和一个类别轴。 编辑例外情况是,如果将date用作类别轴,在这种情况下,Excel会启用“缩放”设置,因为它将它们识别为值。

如果您使用散点图,那么它既有X值也有Y值,并且每个这些值轴都可以给出最大值和最小值。

到目前为止,certificate所有这一切的最简单方法是双击一个坐标轴,并查看Axis Options是否允许设置最小值和最大值。

在代码的开始,添加

 On Error GoTo ShowErrDescription. 

End With之后和End Sub之前,添加下面的代码

 Exit Sub ShowErrDescription: MsgBox Err.Description 

这应该至less给你多一点关于错误的信息。