Удалить ряд данных из существующего графика xy - PullRequest
0 голосов
/ 13 июля 2020

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

Dim srs As Series
ActiveSheet.ChartObjects("Chart 1").Activate
With ActiveChart
    For Each srs In .SeriesCollection
        If .Name = c Then
        .SeriesCollection(srs).Delete
        End If
    Next
End With

1 Ответ

0 голосов
/ 13 июля 2020

Когда вы используете With [Object] ... End With, все точечные методы или свойства будут добавлены к этому [Object]

With ActiveChart
    For Each srs In .SeriesCollection
        If .Name = c Then
        .SeriesCollection(srs).Delete
        End If
    Next
End With

Фактически это станет:

For Each srs In ActiveChart.SeriesCollection
    If ActiveChart.Name = c Then
         ActiveChart.SeriesCollection(srs).Delete
    End If
Next

Я думаю, что ActiveChart.Name не является тем свойством, которое нужно сравнивать в вашем операторе IF.

Вы можете попробовать «srs.Name = c» в ваших IF и «srs.Delete» "внутри вот так:

With ActiveChart
    For Each srs In .SeriesCollection
        If srs.Name = c Then
           srs.Delete
        End If
    Next
End With

Скажите, пожалуйста, работает ли.


...