Удалить 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