У меня есть лист Excel с некоторыми данными и графиком. Я использую следующий код, устанавливая минимальное и максимальное значение для оси значения (Y). Это прекрасно работает:
Dim cht As ChartObject
MaxChartNumber = Application.WorksheetFunction.RoundUp(totalWeights(1, 1), 0)
MinChartNumber = totalWeights(daysToPip, 8)
If totalWeights(daysToPip, 9) < MinChartNumber Then
MinChartNumber = totalWeights(daysToPip, 9)
End If
MinChartNumber = Application.WorksheetFunction.RoundDown(MinChartNumber, 0)
For Each cht In ActiveSheet.ChartObjects
cht.Chart.Axes(xlValue).MinimumScale = MinChartNumber
cht.Chart.Axes(xlValue).MaximumScale = MaxChartNumber
Next cht
Я хотел бы иметь минимум и максимум для категории (X). Поэтому я добавил:
For Each cht In ActiveSheet.ChartObjects
cht.Chart.Axes(xlValue).MinimumScale = MinChartNumber
cht.Chart.Axes(xlValue).MaximumScale = MaxChartNumber
cht.Chart.Axes(xlCategory).MinimumScale = 1
cht.Chart.Axes(xlCategory).MaximumScale = daysToPip
Next cht
Это выдает ошибку:
![error screen](https://i.stack.imgur.com/SSyqB.png)
Какая правильная процедура для этого?