Spis treści
Ten samouczek nauczy Cię kilku prostych sztuczek, aby bezpiecznie usunąć wiele pustych wierszy w programie Excel bez utraty ani jednego bitu informacji .
Puste wiersze w Excelu to problem, z którym wszyscy się borykamy raz na jakiś czas, zwłaszcza przy łączeniu danych z różnych źródeł lub importowaniu informacji z innego miejsca. Puste wiersze mogą spowodować spore spustoszenie w Twoich arkuszach na różnych poziomach, a ich ręczne usuwanie może być procesem czasochłonnym i podatnym na błędy. W tym artykule poznasz kilka prostych i niezawodnych metod usuwania pustych wierszy wswoje arkusze.
Jak NIE usuwać pustych linii w programie Excel
Istnieje kilka różnych sposobów usuwania pustych linii w programie Excel, ale zaskakująco wiele zasobów internetowych trzyma się najbardziej niebezpiecznego, tj. Znajdź & Wybierz > Go To Special > Blanki .
Co jest złego w tej technice? Wybiera wszystkie wykroje w zakresie, a w konsekwencji skończysz na usunięciu wszystkich wierszy, które zawierają choćby jedną pustą komórkę.
Poniższy obraz pokazuje oryginalną tabelę po lewej stronie i wynikową tabelę po prawej stronie. W wynikowej tabeli wszystkie niekompletne wiersze ae zniknęły, nawet wiersz 10, w którym brakowało tylko daty w kolumnie D:
Wniosek: jeśli nie chcesz zepsuć swoich danych, nigdy nie usuwaj pustych wierszy, wybierając puste komórki. Zamiast tego użyj jednego z bardziej przemyślanych podejść omówionych poniżej.
Jak usunąć puste wiersze w programie Excel za pomocą VBA
Excel VBA może naprawić wiele rzeczy, w tym wiele pustych wierszy. Najlepszą rzeczą w tym podejściu jest to, że nie wymaga żadnych umiejętności programowania. Po prostu, złap jeden z poniższych kodów i uruchom go w swoim Excelu (instrukcje są tutaj).
Makro 1. Usuwanie pustych linii w wybranym zakresie
Ten kod VBA cicho usuwa wszystkie puste wiersze w wybranym zakresie, bez pokazywania użytkownikowi żadnej wiadomości lub okna dialogowego.
W przeciwieństwie do poprzedniej techniki, makro usuwa linię, jeśli. cały rząd jest pusty Opiera się na funkcji arkusza CountA, aby uzyskać liczbę niepustych komórek w każdym wierszu, a następnie usuwa wiersze z zerową liczbą.
Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application.Selection If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating= True End If End SubAby dać użytkownikowi możliwość wybrać zakres docelowy po uruchomieniu makra , użyj tego kodu:
Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Wybierz zakres:" , "Usuń puste wiersze" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step -1 Set EntireRow = SourceRange.Cells(I, 1).EntireRow If.Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End SubPo uruchomieniu makro wyświetla następujące okno wejściowe, wybierasz zakres docelowy i klikasz OK:
Za chwilę wszystkie puste linie w wybranym zakresie zostaną wyeliminowane, a pozostałe przesuną się w górę:
Makro 2. Usuń wszystkie puste wiersze w Excelu
Aby usunąć wszystkie puste wiersze na aktywny arkusz , określ ostatni wiersz używanego zakresu (tj. wiersz zawierający ostatnią komórkę z danymi), a następnie przejdź w górę usuwając wiersze, dla których CountA zwraca zero:
Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = ActiveSheet.UsedRange LastRowIndex = UsedRng.Row - 1 + UsedRng.Rows.Count Application.ScreenUpdating = False For RowIndex = LastRowIndex To 1 Step -1 If Application.CountA(Rows(RowIndex)) = 0 Then Rows(RowIndex).Delete End If Next RowIndex Application.ScreenUpdating = True End SubMakro 3. Usuń wiersz, jeśli komórka jest pusta
Za pomocą tego makra można usunąć cały wiersz, jeśli komórka w określonej kolumnie jest pusta.
Poniższy kod sprawdza kolumnę A pod kątem pustych miejsc. Aby usunąć wiersze na podstawie innej kolumny, zastąp "A" odpowiednią literą.
Sub DeleteRowIfCellBlank() On Error Resume Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End SubW rzeczywistości makro wykorzystuje metodę Go To Special > Blanki funkcję, a ten sam rezultat można osiągnąć, wykonując te czynności ręcznie.
Uwaga. Makro usuwa puste wiersze w cały arkusz Na wszelki wypadek przed uruchomieniem tego makra warto wykonać kopię zapasową arkusza.
Jak usunąć puste wiersze w programie Excel za pomocą VBA
Aby usunąć puste wiersze w Excelu za pomocą makra, możesz wstawić kod VBA do własnego skoroszytu lub uruchomić makro z naszego przykładowego skoroszytu.
Dodaj makro do swojego skoroszytu
Aby wstawić makro do swojego skoroszytu, wykonaj następujące kroki:
- Otwórz arkusz, w którym chcesz usunąć puste wiersze.
- Naciśnij Alt + F11, aby otworzyć edytor Visual Basic.
- W lewym panelu kliknij prawym przyciskiem myszy ThisWorkbook , a następnie kliknij Wkładka > Moduł .
- Wklejenie kodu w oknie Code.
- Naciśnij F5, aby uruchomić makro.
Szczegółowe instrukcje krok po kroku znajdziesz w rozdziale Jak wstawiać i używać VBA w Excelu.
Uruchom makro z naszego przykładowego skoroszytu
Pobierz nasz przykładowy skoroszyt z makrami do usuwania pustych wierszy i uruchom z niego jedno z poniższych makr:
DeleteBlankRows - usuwa puste wiersze w aktualnie wybranym zakresie.
RemoveBlankLines - usuwa puste wiersze i przesuwa w górę w zakresie, który zostanie wybrany po uruchomieniu makra.
DeleteAllEmptyRows - usuwa wszystkie puste wiersze na aktywnym arkuszu.
DeleteRowIfCellBlank - Usuwa wiersz, jeśli komórka w określonej kolumnie jest pusta.
Aby uruchomić makro w swoim Excelu, wykonaj następujące czynności:
- Otwórz pobrany skoroszyt i włącz makra, jeśli zostanie wyświetlony monit.
- Otwórz własny skoroszyt i przejdź do interesującego Cię arkusza.
- W swoim arkuszu naciśnij Alt + F8, zaznacz makro i kliknij Uruchom .
Formuła usuwania pustych wierszy w programie Excel
Na wypadek, gdybyś chciał zobaczyć, co usuwasz, użyj następującej formuły, aby zidentyfikować puste linie:
=IF(COUNTA(A2:D2)=0, "Pusty", "Nie pusty")
Gdzie A2 jest pierwszą, a D2 ostatnią używaną komórką pierwszego rzędu danych.
Wpisz tę formułę w E2 lub w dowolnej innej pustej kolumnie w wierszu 2 i przeciągnij uchwyt wypełnienia, aby skopiować formułę w dół.
W rezultacie będziesz miał "Puste" w pustych wierszach i "Nie puste" w wierszach, które zawierają co najmniej jedną komórkę z danymi:
Logika formuły jest oczywista: zliczasz niepuste komórki za pomocą funkcji COUNTA i używasz instrukcji IF, aby zwrócić "Blank" dla zerowej liczby, "Not Blank" w przeciwnym razie.
W zasadzie można się ładnie obejść bez IF:
=COUNTA(A2:D2)=0
W tym przypadku formuła zwróci TRUE dla pustych linii i FALSE dla linii niepustych.
Mając gotowy wzór, wykonaj te czynności, aby usunąć puste linie:
- Zaznacz dowolną komórkę w wierszu nagłówkowym i kliknij Sortowanie & Filtr > Filtr na Strona główna zakładka, w Formaty Spowoduje to dodanie strzałek rozwijania filtrowania do wszystkich komórek nagłówka.
- Kliknij strzałkę w nagłówku kolumny formuły, usuń zaznaczenie (Select All), wybierz Pusty i kliknąć OK :
- Zaznacz wszystkie filtrowane wiersze. W tym celu kliknij pierwszą komórkę pierwszego filtrowanego wiersza i naciśnij Ctrl + Shift + End, aby rozszerzyć zaznaczenie do ostatniej komórki ostatniego filtrowanego wiersza.
- Kliknij prawym przyciskiem myszy na zaznaczeniu, wybierz Usunąć wiersz z menu kontekstowego, a następnie potwierdź, że naprawdę chcesz usunąć całe wiersze:
- Usuń filtr, naciskając klawisze Ctrl + Shift + L . Lub kliknij przycisk Strona główna tab> Sortowanie & Filtr > Filtr .
- Usuń kolumnę z formułą, ponieważ nie jest ona już potrzebna.
To wszystko! Jako wynik mamy czystą tabelę bez pustych linii, ale wszystkie informacje zachowane:
Wskazówka. Zamiast usuwać puste linie, można kopiowanie niepustych wierszy do innego miejsca. Aby to zrobić, odfiltruj wiersze "Nie puste", wybierz je i naciśnij Ctrl + C, aby skopiować. Następnie przełącz się na inny arkusz, wybierz górną lewą komórkę zakresu docelowego i naciśnij Ctrl + V, aby wkleić.
Jak usunąć puste wiersze w programie Excel za pomocą Power Query
W Excelu 2016 i Excelu 2019 jest jeszcze jeden sposób na usuwanie pustych wierszy - za pomocą funkcji Power Query. W Excelu 2010 i Excelu 2013 można ją pobrać jako dodatek.
Ważna uwaga! Ta metoda działa z następującym zastrzeżeniem: Power Query konwertuje dane źródłowe na tabelę Excela i zmienia formatowanie, takie jak kolor wypełnienia, obramowania i niektóre formaty liczb. Jeśli formatowanie oryginalnych danych jest dla Ciebie ważne, to lepiej wybierz inny sposób usuwania pustych wierszy w Excelu.
- Wybierz zakres, w którym chcesz usunąć puste linie.
- Idź do Dane tab> Get & Transform grupy i kliknij Z tabeli/zakresu Spowoduje to załadowanie tabeli do edytora Power Query.
- Na Strona główna w zakładce Edytor zapytań Power Query, kliknij Usuń wiersze > Usuń puste wiersze .
- Kliknij przycisk Close & Load Spowoduje to załadowanie wynikowej tabeli do nowego arkusza i zamknięcie Edytora zapytań.
W wyniku tych manipulacji otrzymałem następującą tabelę bez pustych wierszy, ale z kilkoma nieprzyjemnymi zmianami - format waluty został utracony, a daty są wyświetlane w domyślnym formacie zamiast niestandardowego:
Jak usunąć wiersze, jeśli komórka w określonej kolumnie jest pusta
Na początku tego poradnika ostrzegaliśmy przed usuwaniem pustych wierszy poprzez wybieranie pustych miejsc. Jednak ta metoda przydaje się, gdy chcemy usunąć wiersze na podstawie puste miejsca w określonej kolumnie .
Jako przykład usuńmy wszystkie wiersze, w których komórka w kolumnie A jest pusta:
- Wybierz kluczową kolumnę, w naszym przypadku kolumnę A.
- Na Strona główna zakładka, kliknij Znajdź & Wybierz > Go To Special Albo naciśnij F5 i kliknij Specjalne... przycisk.
- W Go To Special okno dialogowe, wybierz Blanki i kliknąć OK Spowoduje to wybranie pustych komórek w używanym zakresie w kolumnie A.
- Kliknij prawym przyciskiem myszy na dowolnie wybranej komórce i wybierz Usuń... z menu kontekstowego.
- W Usuń okno dialogowe, wybierz Cały rząd i kliknij przycisk OK.
Gotowe!!! Wiersze, które nie mają wartości w kolumnie A już nie istnieją:
Ten sam rezultat można osiągnąć poprzez filtrowanie pustych miejsc w kolumnie klucza.
Jak usunąć dodatkowe linie pod danymi
Czasami wiersze, które wyglądają na całkowicie puste, mogą w rzeczywistości zawierać jakieś formaty lub znaki niedrukowalne. Aby sprawdzić, czy ostatnia komórka z danymi jest rzeczywiście ostatnią używaną komórką w twoim arkuszu, naciśnij Ctrl + End . Jeśli to doprowadziło cię do wizualnie pustego wiersza poniżej twoich danych, pod względem Excela ten wiersz nie jest pusty. Aby usunąć takie wiersze, wykonaj następujące czynności:
- Kliknij nagłówek pierwszego pustego wiersza poniżej swoich danych, aby go zaznaczyć.
- Naciśnij Ctrl + Shift + End . Spowoduje to wybranie wszystkich linii, które zawierają cokolwiek, w tym formaty, spacje i znaki niedrukowane.
- Kliknij prawym przyciskiem myszy na zaznaczeniu i wybierz Usuń... > Cały rząd.
Jeśli masz stosunkowo mały zestaw danych, możesz chcieć pozbyć się wszystkich pustych linii pod danymi, np. aby ułatwić przewijanie. Chociaż nie ma sposobu na usunięcie nieużywanych wierszy w Excelu, nic nie stoi na przeszkodzie, aby ukrycie Oto jak:
- Wybierz wiersz poniżej ostatniego wiersza z danymi, klikając jego nagłówek.
- Naciśnij Ctrl + Shift + strzałka w dół, aby rozszerzyć zaznaczenie do ostatniego wiersza na arkuszu.
- Naciśnij Ctrl + 9, aby ukryć wybrane wiersze. Lub kliknij prawym przyciskiem myszy na zaznaczeniu, a następnie kliknij Ukryj .
Do Ukryj rzędy , naciśnij Ctrl + A, aby wybrać cały arkusz, a następnie naciśnij Ctrl + Shift + 9, aby wszystkie linie były ponownie widoczne.
W podobny sposób możesz ukryć nieużywane puste kolumny po prawej stronie danych. Szczegółowe kroki znajdziesz w Ukryj nieużywane wiersze w Excelu, aby widoczny był tylko obszar roboczy.
Najszybszy sposób na usunięcie pustych wierszy w programie Excel
Czy czytając poprzednie przykłady, nie mieliśmy wrażenia, że używamy młota kowalskiego do rozbicia orzecha? Tutaj, w Ablebits, wolimy nie czynić rzeczy bardziej skomplikowanymi, niż muszą być. Tak więc, zrobiliśmy krok dalej i stworzyliśmy trasę dwóch kliknięć, aby usunąć puste wiersze w programie Excel.
Po dodaniu pakietu Ultimate Suite do swojej wstążki, oto jak możesz usuń wszystkie puste wiersze w arkuszu:
- Na Narzędzia Ablebits zakładka, w Transformacja grupa, kliknij Usuń puste miejsca > Puste rzędy :
- Dodatek poinformuje Cię, że wszystkie puste wiersze zostaną usunięte z aktywnego arkusza i poprosi o potwierdzenie. Kliknij OK, a za chwilę wszystkie puste wiersze zostaną wyeliminowane.
Jak widać na poniższym zrzucie ekranu, usunęliśmy tylko całkowicie puste wiersze które nie mają ani jednej komórki z danymi:
Aby dowiedzieć się więcej o wspaniałych funkcjach zawartych w naszym pakiecie Ultimate Suite dla programu Excel, zapraszamy do pobrania wersji próbnej.
Dziękuję za przeczytanie i mam nadzieję, że zobaczymy się na naszym blogu za tydzień!