Автоматическая настройка весов линий диаграммы Excel с помощью цикла

Я пытаюсь настроить толщину линии (или веса) на диаграмме Excel. Я хочу, чтобы каждая линия регулировалась по толщине в зависимости от веса, который я сохранил в именованном диапазоне «Веса».

У меня возникли проблемы с правильной двойной петлей

У меня есть повторяющийся цикл VBA, но в настоящее время он настраивает каждую серию диаграмм на все значения в моей серии «Веса», а затем продолжает цикл до следующего Srs. Я хочу, чтобы каждое значение в моем Srs менялось только один раз, а затем выбирал следующий вес.

Когда я пытаюсь заставить цикл перейти к следующему «Srs», я получаю «Неверная ссылка на следующую управляющую переменную».

Как должна быть построена эта двойная петля, чтобы настроить каждую линию (Srs) на каждый из моих весов (£w)

Спасибо

Sub SetWeights()
    Dim Srs As Series
    Dim myWeight As Range
    Dim £w As Range
    
    Set myWeight = Range("Weights")
 
    
    With ActiveSheet
        For Each Srs In ActiveChart.SeriesCollection
             For Each £w In myWeight
             Srs.Format.Line.Weight = £w
      'Debug.Print £w
    Next 'Srs
        
        
    Next '£w
        
    End With

End Sub


person william-1066    schedule 07.09.2015    source источник


Ответы (1)


Это то, что вы пытаетесь?

Sub SetWeights()
    Dim Srs As Series
    Dim myWeight As Range
    Dim £w As Range
    Dim j As Long

    Set myWeight = Range("Weights")

    j = 1

    With ActiveSheet
        For Each £w In myWeight
            If j > ActiveChart.SeriesCollection.Count Then Exit Sub
            ActiveChart.SeriesCollection(j).Format.Line.Weight = £w
            j = j + 1
        Next £w
    End With
End Sub

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

person Siddharth Rout    schedule 07.09.2015
comment
Да, прибил. Спасибо! - person william-1066; 07.09.2015