Макрос VBA Excel: сохранение и удаление листов на основе данных в ячейке

Макрос VBA Excel: сохранение и удаление листов на основе данных в ячейке

Это может быть очень простой вопрос, но я не могу в нем разобраться. Я запускаю макрос, который создает 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.

Связанный контент