Удалить 2 строки выше, если конкретная ячейка пуста [Цикл]

У меня есть жестко закодированный отчет, который генерирует около 10 разделов. После запуска отчета некоторые разделы могут не содержать данных. Я хочу найти эти конкретные ячейки и удалить две строки (заголовки разделов) выше, если эта ячейка пуста (нет данных).

Например:

Если ячейка B586 пуста, удалите строки 584:585.

а потом...

Если ячейка B505 пуста, удалите строки 503:504

так далее..

1 ответ

Решение

Один из способов достижения этого заключается в следующем: причина, по которой я удаляю строки ниже (586) перед проверкой строк выше (505), заключается в том, что, как только вы удаляете строку, строки сдвигаются вверх, по сути изменяя номера строк:

Sub foo()
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
    If ws.Range("B586").Value = "" Then ws.Rows("584:585").Delete
    If ws.Range("B505").Value = "" Then ws.Rows("503:504").Delete
End Sub
Другие вопросы по тегам