Удаление по двойному условию + перебор по листам - VBA

Узнай цену своей работы

Формулировка задачи:

Доброго всем дня! Нашел на просторах интернета макрос:
Листинг программы
  1. Sub по_2условию()
  2. Dim ra As Range, delra As Range, cell As Range
  3. Set ra = Range("B4:B100")
  4. Set ra = Range(ra, Cells(Rows.Count, ra.Column).End(xlUp))
  5. Application.ScreenUpdating = False
  6. For Each cell In ra.Cells
  7. If (cell <> "") And (cell.Offset(1, 1) = "") Then
  8. If delra Is Nothing Then Set delra = cell Else Set delra = Union(delra, cell)
  9. End If
  10. Next cell
  11. If Not delra Is Nothing Then delra.EntireRow.Delete
  12. End Sub
Собственно макрос удаляет строку по двойному условию т.е. если ячейка B не пустая соседняя нижняя пустая, то срока удаляется. Сам макрос в этой части работает прекрасно, но пытаюсь сделать что бы он "бегал" по листам начиная со второго и ничего не выходит. Добавлял:
Листинг программы
  1. For i = 2 To Sheets.Count
  2. Sheets(i).Activate
Выдает ошибку. Может, кто, подсказать, как исправить макрос, что бы он начал "бегать" по листам. Заранее спасибо за помощь.

Решение задачи: «Удаление по двойному условию + перебор по листам»

textual
Листинг программы
  1. If Not delra Is Nothing Then delra.EntireRow.Delete
  2.         Set delra = Nothing

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы