Excel - принудительное отображение 0 на второй оси разделенных графиков - PullRequest
1 голос
/ 11 октября 2019

Я работаю над графиками, отражающими эволюцию некоторых затрат на производство автомобилей. Он основан на некоторых файлах оценки затрат, и все создается простым щелчком мыши. Моя проблема состоит в том, чтобы отобразить значение «0» на вторичной оси ...

Как видите, значение 0 на вторичной оси не представлено ... Как заставить его отображать?

Вот часть кода, где создается диаграмма:

'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
'creating main graph
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

'Application.EnableEvents = False
ActiveSheet.Range("A1").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLineMarkers
ActiveChart.Parent.Name = ActiveSheet.Name & " Cumul Chart"

'define the size of the chart
With ActiveSheet.Shapes(ActiveSheet.Name & " Cumul Chart")
    .Top = Range("B15").Top
    .Left = Range("B15").Left
    .Height = Range("P15:P45").Height
    .Width = Range("B37:P45").Width
End With

'creating the 4 series
'Cumul Nb Cars
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Name = "='" & ActiveSheet.Name & "'!$B$9"
ActiveChart.SeriesCollection(1).Values = "='" & ActiveSheet.Name & "'!$C$9:$N$9"
ActiveChart.SeriesCollection(1).XValues = "='" & ActiveSheet.Name & "'!$C$3:$N$3"

'Cumul est Nb Cars
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Name = "='" & ActiveSheet.Name & "'!$B$10"
ActiveChart.SeriesCollection(2).Values = "='" & ActiveSheet.Name & "'!$C$10:$N$10"
ActiveChart.SeriesCollection(2).XValues = "='" & ActiveSheet.Name & "'!$C$3:$N$3"

'Cumul price
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Name = "='" & ActiveSheet.Name & "'!$B$11"
ActiveChart.SeriesCollection(3).Values = "='" & ActiveSheet.Name & "'!$C$11:$N$11"
ActiveChart.SeriesCollection(3).XValues = "='" & ActiveSheet.Name & "'!$C$3:$N$3"

'Cumul est price
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(4).Name = "='" & ActiveSheet.Name & "'!$B$12"
ActiveChart.SeriesCollection(4).Values = "='" & ActiveSheet.Name & "'!$C$12:$N$12"
ActiveChart.SeriesCollection(4).XValues = "='" & ActiveSheet.Name & "'!$C$3:$N$3"

'changing the 2 series to the second axis
ActiveChart.SeriesCollection(2).Select
ActiveChart.SeriesCollection(2).AxisGroup = 2
ActiveChart.SeriesCollection(4).Select
ActiveChart.SeriesCollection(4).AxisGroup = 2

'Changing the axis max and min values to have the data visibles
ActiveChart.Axes(xlValue, xlSecondary).Select
ActiveChart.Axes(xlValue, xlSecondary).MinimumScale = -1 * (ActiveChart.Axes(xlValue, xlSecondary).MaximumScale + 0.1 * WorksheetFunction.Max(Range("n10").Value, Range("N12").Value))
ActiveChart.Axes(xlValue, xlSecondary).MaximumScale = Round(((ActiveChart.Axes(xlValue, xlSecondary).MaximumScale + 0.1 * WorksheetFunction.Max(Range("n10").Value, Range("N12").Value))) / 1000, 0) * 1000
Selection.TickLabels.NumberFormat = "0;;0"       'I guess this will have to be modified?
ActiveChart.Axes(xlValue).Select
ActiveChart.Axes(xlValue).MaximumScale = 2 * ActiveChart.Axes(xlValue).MaximumScale + 20
ActiveChart.Axes(xlValue).MinimumScale = 0
Selection.TickLabels.NumberFormat = "[<301];"
ActiveChart.SetElement (msoElementDataTableWithLegendKeys)


'then, there is some formatting, colours, title etc

Итак, можно ли принудительно отобразить 0 с обеих сторон?

Заранее спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...