У меня следующий код vba:
Dim targetChart As Chart
Dim labelRange As Range
Set targetChart = Worksheets("Graph").ChartObjects("Chart 2").Chart
Set labelRange = Worksheets("Graph").Range("H3", "H" & lastrow)
With targetChart.SeriesCollection(4)
.ApplyDataLabels
With .DataLabels
.Format.AutoShapeType = msoShapeRoundedRectangle
.Format.TextFrame2.TextRange.InsertChartField msoChartFieldRange, labelRange.Address(External:=True), 0
.ShowCategoryName = False
.ShowRange = True
.ShowSeriesName = False
.ShowValue = False
End With
End With
Я хочу отформатировать метки данных в виде прямоугольников со скругленными углами, но при запуске макроса .Format.AutoShapeType = msoShapeRoundedRectangle
не выполняется. Когда я выполняю макрос, он не выдает ошибку, поэтому я не уверен, что делаю неправильно. Все остальное в операторе with работает как задумано.
Причина, по которой у меня есть .ShowValue = False
, заключается в том, что я устанавливаю значения меток данных из диапазона.