Я пытаюсь удалить все листы, которые начинаются с Sheet5 до последнего листа, но я получил «индекс ошибки времени выполнения вне диапазона».excel vba delete sheets run-time error subscript out of range
Dim x as Long
For x = 5 To ThisWorkbook.Worksheets.Count
Application.DisplayAlerts = False
ThisWorkbook.Sheets(x).Delete
Application.DisplayAlerts = True
Next
В результате он удалил, но только Sheet5, Sheet7 и Sheet9, но Sheet6 и Sheet8 все еще там. Серая кнопка отладки, и я задаюсь вопросом, где ошибка. Пожалуйста, помогите, потому что держитесь борьбы на этом и не можете пройти. Большое спасибо!
Чтобы добавить, VBA будет удалите, какой бы «лист» не был в этой позиции, поэтому, если «Таблицы» будут перетасованы или названы, он удалит любой из «Лист» в позиции «5» в начале. – DragonSamu
большое спасибо @daZza, я не понял после удаленной Sheet5, Sheet6 станет Sheet5, поэтому мне просто нужно сохранить метод Sheet5 с использованием метода loop. –
Правда, я подумал, что там сложно: P – daZza