Я смотрел онлайн столько, сколько мог (за исключением веб-сайта поддержки Microsoft, который почему-то заблокирован на работе). Я пытаюсь просто пропустить ошибку. Мой код, написанный здесь, упрощен, но должен работать одинаково.
Что должен делать мой код: Один из моих подмножеств создает фигуры в цикле и называет их (btn_1, btn_2 и т.д.). Но перед их созданием он вызывает sub, который пытается удалить их, чтобы не создавать дубликаты. Этот вспомогательный цикл проходит через (btn_1, btn_2 и т.д.) И удаляет фигуры с помощью:
for i = 1 to (a certain number)
Set shp = f_overview.Shapes("btn_" & i)
shp.delete
next
Конечно, бывает, что форма не может быть удалена, потому что ее просто не существует. Я обнаружил, что большую часть времени исправленное исправление заключается в том, чтобы добавить (при ошибке возобновить дальше) перед установкой фигуры, так как я получаю сообщение об ошибке, которое не существует. Я пробовал его внутри цикла, перед циклом и т.д., Например:
for i = 1 to (a certain number)
On Error Resume Next
Set shp = f_overview.Shapes("btn_" & i)
shp.delete
next
Насколько я понимаю, предполагается, что он должен пройти прямо, если форма не существует, но я все равно получаю ту же самую ошибку, добавлю ли я снова сообщение об ошибке включения? Что я делаю неправильно?
ИЗМЕНИТЬ: нет ошибок, когда формы существуют.