我的图表在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而没有关于错误的解释。 什么想法可能会出错?
答案 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
这至少可以为您提供有关错误的更多信息。