Как удалить в Excel пустые строки?

Автор captain, 10 сентября 2015, 14:48

captain

Здравствуйте. Скажите, пожалуйста, как удалить в Excel пустые строки?

Администратор

Пустые строки можно удалить так. Макрос просматривает все ячейки в строке. Если все ячейки пустые, то строка удаляется.

Sub Main()
   
    Dim i As Long
   
    '1. Отключение обновления монитора (для ускорения работы макроса).
    Application.ScreenUpdating = False
   
    '2. Движение по строкам снизу вверх от строки 5 до первой строки.
    For i = 5 To 1 Step -1
        ' Если в строке пусто.
        If Application.WorksheetFunction.CountA(Rows(i)) = 0 Then
            ' Удаление строки.
            Rows(i).Delete
        End If
    Next i
   
    '3. Включение монитора.
    Application.ScreenUpdating = True
   
End Sub

captain

Спасибо! Буду пробовать.
Скажите на сколько примерно ускоряет работу макроса если выключить монитор?

Администратор

На очень много ускоряет. Во сколько раз, я не знаю. Но вы можете сами это наблюдать - сделайте макрос без отключения монитора и с отключением. Думаю, начиная со строк 100 будет уже заметно, если надо удалять много. Если надо удалять одну - десять строк, то, наверное, разницы не увидите.

captain