У меня есть лист, на котором я создаю 9 новых диаграмм, и они называются с Chart67 по 75, потому что есть еще 66 диаграмм, которые исправлены.Но перед созданием диаграмм я хотел бы удалить их, если по какой-либо причине они могут существовать на листе.
Приведенный ниже код не выполняет работу и удаляет только набор диаграмм (67, 69, 71, 73 и 75), а затем выдает ошибку «Метод« ChartObjects »объекта« _Worksheet »не выполнен».Каждый раз, когда я запускаю код, он удаляет дальнейшие диаграммы, но снова не все и снова выдает ту же ошибку.
Но если я проверю код, просто закомментировав строку «.delete», то я попаду в окно отладкивсе графики, которые я собираюсь удалить без ошибок.
Может кто-нибудь объяснить мне, что происходит?Я также отлаживал шаг за шагом, и я вижу, что, когда функция удаления работает, экран мерцает, а затем выбор просто переходит в чарты.
(перед тем, как опубликовать вопрос, я проверил еще одну вещь имне кажется, цикл For запоминает первое значение (67), и, поскольку он больше не существует, он перепрыгивает через 68 и т. д.) -> но почему?Как мне поступить?
Thx
Public Sub test()
Dim wsCR As Worksheet: Set wsCR = ThisWorkbook.Worksheets("Charts")
Dim i As Long
For i = 67 To wsCR.ChartObjects.count
wsCR.ChartObjects(i).Activate
With ActiveChart
Debug.Print .Parent.Name
'.Parent.Delete
End With
Next
End Sub