
Это может быть очень простой вопрос, но я не могу в нем разобраться. Я запускаю макрос, который создает 13 электронных таблиц. Из этих 13 разворотов, несколько из них не будут иметь ничего в столбце A2. Я хотел бы иметь возможность создать макрос в VBA, который удалит все развороты, в которых нет ничего в A2, но сохранит развороты, в которых есть данные в A2. Я пробовал использовать:
Sub Delete()
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Application.DisplayAlerts = False
If LenB(ActiveSheet.Range("A2")) = 0 Then ActiveSheet.Delete
Application.DisplayAlerts = True
Next ws
End Sub
Это удалит активный лист, если на листе A2 ничего нет, так что для меня это некоторый прогресс, но автоматический переход на следующий лист не произойдет.
решение1
Ваш код непоследователен, вам следует везде использовать ws
вместо ActiveSheet
.