Poltava,
Старался отразить функционал.
1. Срабатывает данный макрос при изменении значений определенных ячеек.
[vba]Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("B38:B53, BN2, B1"), Target) Is Nothing Then
Call УдалениеСтрок
End If
End Sub
[/vba]
2. Листы нужно перебрать все, так как в зависимости от значения на разных листах удаляются те или иные строки во всем проекте.
Есть у кого какие предположения по поводу, почему может выдаваться ошибка в коде который написал RAN в строке
[vba]Код
If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
[/vba]