Когда вы используете 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
Скажите, пожалуйста, работает ли.