Makro – Usuwanie pustych wierszy VBA Excel

Jak usunąć puste wiersze makrem ?

Jedyne, co musimy zrobić, to napisać makro, które odszuka ostatni wypełniony wiersz w tabeli, a następnie przechodząc w dół zaczynie usuwać puste rekordy. Zróbmy krótki przykład. Zakładamy, że nasza tabela rozpoczyna się od komórki A1. Nie wiemy natomiast ile ma w sumie ma wierszy. Makro VBA powinno działać w następujący sposób:

  • Sprawdza na którym wierszu kończy się nasza tabela, nawet jeśli występują przerwy pomiędzy rekordami.
  • Za pomocą pętli np Do Loop, skrypt przechodzi w górę tabeli
  • W pętli zainstalowany jest warunek If Then Else VBA, zliczający wartości w komórkach. Jeśli wszystkie komórki w danym wierszu są puste, rekord zostaje usunięty.
  • Po usunięciu danego rekordu, skrypt przechodzi dalej w górę tabeli, aż do wiersza 1:1. Wiersz 1:1 zadeklarowany jest w warunku wejścia do pętli While sngCounter > 0

Przykład makra wykonującego w VBA usuwanie pustych wierszy powinien wyglądać następująco:

Sub UsunPusteWiersze()

'Kod usuwający puste wiersze - szukanie ostatniego wiersza'

Dim rngCell As Range
Set rngCell = Cells.Find(What:="*", After:=Cells(1, 1), LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:= _
False, SearchFormat:=False)

'Kod usuwający puste wiersze - usuwanie pustych wierszy

sngCounter = rngCell.Row
Do While sngCounter > 0
If Application.WorksheetFunction.CountA(Rows(sngCounter & ":" & sngCounter)) = 0 Then
Rows(sngCounter & ":" & sngCounter).Delete Shift:=xlUp
End If
sngCounter = sngCounter - 1
Loop

End Sub
Makro - VBA usuwanie pustych wierszy w tabeli Excel
Makro – VBA usuwanie pustych wierszy w tabeli Excel

Ten i podobne przykłady makr VBA zamieszczam w tym dziale. Jeśli chcesz się dowiedzieć więcej o programowaniu w VBA, zapraszam do skorzystania z kursu VBA online mojego autorstwa. Plik z przykładem makra Usuwanie pustych wierszy VBA wklejam poniżej:

Makro_usuwanie_pustych_wierszy_VBA_Excel

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Komentarz do “Makro – Usuwanie pustych wierszy VBA Excel”