Excel VBA и диаграммы. Проблема с меткой по оси Y

#excel #vba #charts #label

#excel #vba #Диаграммы #метка

Вопрос:

Только начинаю работать с Excel и диаграммами….

Текущий код :

 With excel_Chart.Chart
    .ChartType = xlColumnClustered
    .SeriesCollection.NewSeries
    .SeriesCollection(1).Values = _
            Array(numOfSmallHits, numOfAllHits, numOfTallHits)  'array_value
End With
  

Генерирует эти две диаграммы.
Когда оба значения равны 1, ось Y показывает 0, 0,5, 1, 1,5

введите описание изображения здесь

введите описание изображения здесь

Когда одно значение равно 1, а другое — 2, на оси Y отображаются 0, 1, 2, 3

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

   .Axes(xlValue).TickLabels.NumberFormat = "0"
  

Сначала кажется, что ничего не изменилось, когда значения равны 1 и 2.

введите описание изображения здесь

Но когда оба значения оказываются равными 1, я получаю повторяющееся значение по оси Y (0,1, 1, 2).

введите описание изображения здесь

Какое свойство необходимо установить для динамической диаграммы, чтобы отображались только целые числа с шагом 1. Например, 0,1,2,3,4,5….

Ответ №1:

Я думаю, вы ищете Axis.MajorUnit свойство.

Попробуйте:

 .Axes(xlValue).MajorUnit = 1