Здравствуйте. Скажите, пожалуйста, как удалить в 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
Спасибо! Буду пробовать.
Скажите на сколько примерно ускоряет работу макроса если выключить монитор?
На очень много ускоряет. Во сколько раз, я не знаю. Но вы можете сами это наблюдать - сделайте макрос без отключения монитора и с отключением. Думаю, начиная со строк 100 будет уже заметно, если надо удалять много. Если надо удалять одну - десять строк, то, наверное, разницы не увидите.
Спасибо за макрос, работает!