Я использую приведенный ниже код VBA, в котором SpRatings - это имя именованного диапазона (созданного по формуле смещения, которая дает мне столбец разной высоты в зависимости от количества содержащихся элементов). Когда я запускал этот код с неактивным диапазоном, он, казалось, работал. Может кто-нибудь посоветовать, как это исправить, чтобы он работал?
Мне строго необходимо иметь цикл for для активного диапазона.
With ActiveChart
Set Serpo = .SeriesCollection(11).Points
'Save the number of points in chart to variable j
j = Serpo.Count
'Iterate though each point in current series
For i = 1 To j
'Enable data label for current chart point
Serpo(i).ApplyDataLabels Type:=xlShowValue
'Save cell reference to chart point
Serpo(i).DataLabel.Formula = "=" & Range("SpRatings").Cells(i).Address(ReferenceStyle:=xlR1C1)
Serpo(i).DataLabel.Font.ColorIndex = 2
Serpo(i).DataLabel.Position = xlLabelPositionInsideBase
Next
End With