Автофильтр VBA - удаляет только видимые ячейки в таблице, а не всю строку - PullRequest
0 голосов
/ 14 сентября 2018

Я использую автофильтр для быстрого удаления пустых строк, однако я подумал, что мне удастся удалить только ячейки в текущем диапазоне, а не всю строку, используя только delete(xlshiftup) вместо entirerow.delete

Код ниже - то, что я использовал:

With Range
    .AutoFilter Field:=1, Criteria1:="="
    .offset(1, 0).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible).Delete (xlShiftUp)
End with

Возможно ли это? Я думал, что это будет решением, но по какой-то причине он удаляет весь контент в оставшихся видимых строках.

1 Ответ

0 голосов
/ 14 сентября 2018

ссылка на отфильтрованный диапазон, удаление автофильтра и удаление указанного диапазона:

With Range
    .AutoFilter Field:=1, Criteria1:="="
    With .Offset(1, 0).Resize(.Rows.Count - 1).SpecialCells(xlCellTypeVisible)
        .Parent.AutoFilterMode = False
        .Delete (xlShiftUp)
    End With
End With
...