У меня есть лист в Excel со значениями в некоторых строках столбца B, которые были возвращены как ноль (0), но все еще имеют формулу в ячейке. Я хочу иметь возможность удалять только эти строки с помощью макроса.

1 ответ1

0

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

Sub Macro1()
    Columns("B:B").Select
    Selection.AutoFilter
    ActiveSheet.Range("B:B").AutoFilter Field:=1, Criteria1:="0"
    Selection.SpecialCells(xlCellTypeVisible).Delete Shift:=xlUp
    ActiveSheet.Range("B:B").AutoFilter Field:=1
    Selection.AutoFilter
    Range("B1").Select
End Sub  

но я бы порекомендовал (i) включить рекордер макросов и создать макрос для себя и (ii) быть предельно осторожным с любым макросом, созданным не вами, в частности с макросом «Удалить»!

Обратите внимание, что при этом удаляется Row1 поэтому, возможно, лучше сначала вставить строку вверху, а также удалить строки, в которых "0" не получено из формулы.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .