Я создавал таблицы Excel с использованием VBA для макроса, я выполнил все требования, которые мне были нужны, кроме одного, которое дало мне самое трудное время ...
Моя проблема в том, что когда я делаюдиаграммы, которые я хочу добавить по оси X, обозначают названия серий (столбцы), чтобы их было легче читать, благодаря чему я не смог воспроизвести макрос, я могу установить названия серий и получить их в условных обозначенияхно я не могу заставить его быть на оси
Хорошо, поэтому я попытался установить названия серий, такие как:
ActiveChart.SeriesCollection(k).Name = Range("O180").Value & " " & Range("F86").Value & vbNewLine & "Óptimo: 10-12"
Я также попытался настроить и XValues, но он принимает только массивы, хотя я создал массив с одной записью, но он не сделал то, что я хотел.
Я также делаю форматирование до и после добавления всех серий. Попытка:
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)
послеadd
Так вот, как я добавляю серии, я добавляю их все то же самое, после этого начинается еще одна If Application.IsNA
, чтобы добавить еще одну серию ....
If (Not Application.IsNA(Range("P163").Value)) Then
If (Not Len(Range("P163")) <= 0) Then
z = z + 1
If (ActiveChart.SeriesCollection.Count < z) Then
ActiveChart.SeriesCollection.NewSeries
End If
ActiveChart.SeriesCollection(z).Values = Range("W163").Value
ActiveChart.SeriesCollection(z).Name = Range("O163").Value & " " & Range("F49").Value & vbNewLine & "Óptimo: 6,5-7,0 (Acidez Activa)"
ActiveChart.SeriesCollection(z).Format.Fill.OneColorGradient msoGradientHorizontal, 1, 1
ActiveChart.SeriesCollection(z).Format.Fill.GradientStops(1).Position = 0.25
ActiveChart.SeriesCollection(z).Format.Fill.GradientStops(2).Position = 1
'ActiveChart.SeriesCollection(z).Points(1).AxisGroup = z COMENTED LINE
ActiveChart.SeriesCollection(z).Points(1).ApplyDataLabels
ActiveChart.SeriesCollection(z) _
.DataLabels.ShowSeriesName = True
lastInput(1) = Range("O163").Value 'Name
lastInput(2) = Range("F49").Value 'Unformated Value for Legend
lastInput(3) = Range("W163").Value 'Formated value for chart
lastInput(4) = "Óptimo: 6,5-7,0 (Acidez Activa)" 'Complementary Optimal Legend Entry
End If
End If
Я хотел имяна XAxis ниже бар, поэтому у каждого бара есть свое имя
Я надеюсь, что это изображениепонятно, пожалуйста, не обращайте внимания на все проблемы, которые имеет график на картинке, только на ту, с которой у меня проблемы ...