Usuwanie pustych wierszy

0
151
Rate this post

Usuwanie pustych wierszy

Wyobraźmy sobie sytuację, w której mamy arkusz zawierający dużą ilość danych uporządkowanych w wierszach. Mogą to być np. aktualnie otwarte rekrutacje, lista pracowników, czy choćby kolekcja płyt CD/DVD. Z tej listy może korzystać makro lub dane mogą być zaczerpywane do tabeli przestawnej, ale zdarza się, że usuwamy z tej listy niektóre pozycje lub w ogóle robi to za nas makro.

Pivot nie lubi, gdy w zakresie danych znajdują się puste wiersze. Możemy jednak rozwiązać problem przy pomocy poniższego kodu VBA:

Sub empty_rows()

For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
    If Cells(i, "A").Value = "" Then
        Rows(i).Delete shift:=xlUp
    End If
Next

End Sub

Ten kod usuwa puste wiersze zaczynając od dołu: znajduje ostatnią niepustą komórkę w kolumnie A i zaczyna weryfikację do góry. Jeśli w kolumnie A znajdzie komórkę, w której nie ma żadnych danych usuwa cały wiersz i ponownie rusza do góry aż do drugiego wiersza.

Jeśli Twoje dane zaczynają się np w trzecim wierszu (a dwa pierwsze to nagłówki), to możesz zmodyfikować linię:

For i = Cells(Rows.Count, "A").End(xlUp).Row To 3 Step -1

Lub, jeśli makro ma szukać pustych komórek w kolumnie „B”, a nie „A”, to zmień tę linię:

If Cells(i, "B").Value = "" Then

Oczywiście, jeśli w arkuszu mamy tylko kilka pustych wierszy, to równie szybko usuniemy je ręcznie, jednak jeśli jest ich kilkanaście lub więcej, to nie ma sensu ich ręczne szukanie.

Możemy również wywoływać ta procedurę przy okazji odświeżania tabeli przestawnej przy pomocy VBA, o czym już pisałem.

słowa kluczowe: deweloper excel 2010, excel angielski, vba tabela przestawna, sprawdzenie poprawności pesel, pesel sprawdzanie, sprawdzenie peselu, sprawdzanie poprawności numeru pesel, vba excel pdf, tłumaczenie formuł excel, kod vba excel