I have a graph that has dates on the x-axis and I’m trying to set maximum and minimum values for this axis using an Excel VBA. I defined MinXAxis and MaxXAxis values in the same sheet and here is my code:

```
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
```

When I run this code I get error 400 with no explanation about the error.

Any ideas what might be going wrong?

**Axis.MinimumScale Property**

Returns or sets the minimum value on the value axis. Read/write

Double.

You should be applying these properties to the value axis `xlValue`

, not the Category axis.

Setting this property will also set `MinimumScaleIsAuto = False`

so you won’t need those lines.

**Added** If you use a column, bar, line, etc., graph then these have a Value and a Category axis. You can only set the Minimum or Maximum for the Value axis. Even if you swap them around (x – y) there is still only one Value and one Category axis. **Edited** An exception to this is if dates are used as the Category axis, in which case Excel enables the Scale settings, as it recognises them as values.

If, instead, you use a Scatter graph, then this has both X-Values and Y-Values, and each of these *value axes* can be given maxima and minima.

By far the easiest way to prove all this is to double click on an axis and see whether the `Axis Options`

allows you to set a minimum and maximum.

### Answer：

At the beginning of the code, add

```
On Error GoTo ShowErrDescription.
```

After `End With`

and before `End Sub`

, add the following code

```
Exit Sub
ShowErrDescription:
MsgBox Err.Description
```

This should at least give you a little more information about the error.

Tags: excelexcel