Нашёл решение. Для каждого листа где нужно убирать строки, делаем следующее:
1. Сделать невидимые формулы справа от основного содержания листа, которые проверяют являются ли ячейки из столбцов b и e одновременно пустые, например,
=ЕСЛИ(И(B19="";E19=""); ""; 1)
. И сделать фильтр по пустым ячейкам
2.создать макрос в каждом листе где есть фильтр, который автоматически обновляет фильтр:
Private Sub Worksheet_Activate()
ActiveSheet.AutoFilter.ApplyFilter
End Sub
В последнее время я сам нахожу ответы на свои вопросы.