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

时间:2013-07-22 20:35:56

标签: excel excel-vba vba

我的图表在x轴上有日期,我正在尝试使用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而没有关于错误的解释。 什么想法可能会出错?

2 个答案:

答案 0 :(得分:2)

Axis.MinimumScale Property

  

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

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

设置此属性也会设置MinimumScaleIsAuto = False,因此您不需要这些行。

已添加如果使用列,条形图,折线等图形,则这些图形具有值和类别轴。您只能为“值”轴设置“最小值”或“最大值”。即使你交换它们(x - y),仍然只有一个Value和一个Category轴。 已修改此例外情况是,如果将日期用作类别轴,则Excel会启用“缩放”设置,因为它会将其识别为值。

如果您使用散点图,那么它同时具有X值和Y值,并且这些值轴中的每一个都可以被赋予最大值和最小值。

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

答案 1 :(得分:0)

在代码的开头,添加

On Error GoTo ShowErrDescription.

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

Exit Sub
ShowErrDescription:
MsgBox Err.Description

这至少可以为您提供有关错误的更多信息。