Kako izbrisati prazne retke u Excelu s VBA, formulama i Power Queryjem

  • Podijeli Ovo
Michael Brown

Ovaj vodič će vas naučiti nekoliko jednostavnih trikova za sigurno brisanje više praznih redaka u programu Excel bez gubitka ijedne informacije .

Prazni redovi u programu Excel problem su s kojim se svi suočavamo s vremena na vrijeme, osobito kada kombinirate podatke iz različitih izvora ili uvozite informacije s nekog drugog mjesta. Prazni redovi mogu uzrokovati puno pustoša u vašim radnim listovima na različitim razinama, a njihovo ručno brisanje može biti dugotrajan i sklon pogreškama proces. U ovom ćete članku naučiti nekoliko jednostavnih i pouzdanih metoda za uklanjanje praznina u radnim listovima.

    KAKO NE uklanjati prazne retke u Excelu

    Postoji nekoliko različiti načini za brisanje praznih redaka u Excelu, ali iznenađujuće mnogi mrežni resursi drže se najopasnijeg, naime Pronađi & Odaberite > Idi na posebno > Prazne stavke .

    Što nije u redu s ovom tehnikom? Odabire sve prazne ćelije u rasponu i posljedično ćete na kraju izbrisati sve retke koji sadrže čak jednu praznu ćeliju.

    Donja slika prikazuje izvornu tablicu s lijeve strane i rezultirajuća tablica s desne strane. I u rezultirajućoj tablici, svi nepotpuni retci su nestali, čak i redak 10 gdje je nedostajao samo datum u stupcu D:

    Zaključak: ako ne želite zabrljati svoje podatke, nikada ne brišite prazne redaka odabirom praznih ćelija. Umjesto toga, upotrijebite jedan od razmatranijih pristupaučiniti stvari složenijima nego što trebaju biti. Stoga smo otišli korak dalje i stvorili put s dva klika za brisanje praznih redaka u Excelu.

    S Ultimate Suite dodanim na vašu vrpcu, evo kako možete izbrisati sve prazne retke na radnom listu:

    1. Na kartici Ablebits Tools , u grupi Transform kliknite Delete Blanks > Prazni retci :
    2. Dodatak će vas obavijestiti da će svi prazni retci biti uklonjeni s aktivnog radnog lista i zatražiti potvrdu. Kliknite OK i za trenutak će svi prazni redovi biti uklonjeni.

    Kao što je prikazano na slici ispod, uklonili smo samo apsolutno prazne retke koji nemaju nijednu ćeliju s podacima:

    Da biste pronašli iz još sjajnih značajki uključenih u naš Ultimate Suite za Excel, slobodno možete preuzeti probnu verziju.

    Zahvaljujem vam na čitanju i nadam se da se vidimo na našem blogu sljedeći tjedan!

    u nastavku.

    Kako ukloniti prazne retke u Excelu pomoću VBA

    Excel VBA može popraviti puno stvari, uključujući više praznih redaka. Najbolja stvar kod ovog pristupa je to što ne zahtijeva nikakve vještine programiranja. Jednostavno zgrabite jedan od donjih kodova i pokrenite ga u svom Excelu (upute su ovdje).

    Makro 1. Izbrišite prazne retke u odabranom rasponu

    Ovaj VBA kod tiho briše sve prazne redaka u odabranom rasponu, bez prikazivanja bilo kakve poruke ili dijaloškog okvira korisniku.

    Za razliku od prethodne tehnike, makronaredba briše redak ako je cijeli redak prazan . Oslanja se na funkciju radnog lista CountA da dobije broj nepraznih ćelija u svakom retku, a zatim briše retke s nultim brojem.

    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 Zatim EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Kako biste korisniku dali priliku da odabere ciljni raspon nakon pokretanja makronaredbe , koristite ovaj kod:

    Javno Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _"Select a range:" , "Delete Blank Rows" , _ Application.Selection.Address, Type :=8) If Not (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step - 1 Postavite EntireRow = SourceRange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Nakon pokretanja, makro prikazuje u sljedećem okviru za unos, odaberete ciljani raspon i kliknete OK:

    Za trenutak će svi prazni redovi u odabranom rasponu biti eliminirani, a preostali će se pomaknuti prema gore:

    Makro 2. Izbrišite sve prazne retke u Excelu

    Da biste uklonili sve prazne retke na aktivnom listu , odredite zadnji red korištenog raspona (tj. red koji sadrži zadnja ćelija s podacima), a zatim idite prema gore brišući retke za koje CountA vraća nulu:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Integer Dim RowIndex As Integer Dim UsedRng As Range Set UsedRng = Activ eSheet.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 Sub

    Macro 3. Izbriši redak ako je ćelija prazna

    S ovom makronaredbom možete izbrisati cijeli red ako je ćelija u navedenojstupac je prazan.

    Sljedeći kod provjerava ima li u stupcu A praznina. Da biste izbrisali retke na temelju drugog stupca, zamijenite "A" odgovarajućim slovom.

    Sub DeleteRowIfCellBlank() On Error Resume Next Columns( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As a zapravo, makronaredba koristi značajku Go To Special > Blanks , a isti rezultat možete postići ručnim izvođenjem ovih koraka.

    Napomena. Makronaredba briše prazne retke na cijelom listu , stoga budite vrlo pažljivi kada je koristite. Kao mjera opreza, možda bi bilo mudro napraviti sigurnosnu kopiju radnog lista prije pokretanja ove makronaredbe.

    Kako ukloniti prazne retke u Excelu pomoću VBA

    Da biste izbrisali prazne retke u Excelu pomoću makronaredbe, možete umetnuti VBA kod u vlastitu radnu knjigu ili pokrenuti makronaredbu iz naše ogledne radne knjige.

    Dodajte makronaredbu u svoju radnu knjigu

    Da biste umetnuli makronaredbu u svoju radnu knjigu, izvršite ove korake:

    1. Otvorite radni list na kojem želite izbrisati prazne retke.
    2. Pritisnite Alt + F11 da biste otvorili Visual Basic Editor.
    3. U lijevom oknu kliknite desnom tipkom Ova radna knjiga , a zatim kliknite Umetni > Modul .
    4. Zalijepite kod u prozor koda.
    5. Pritisnite F5 za pokretanje makronaredbe.

    Za detaljne upute korak po korak pogledajte Kako umetnuti i koristiti VBA u Excelu.

    Pokrenite makronaredbu iz naše ogledne radne knjige

    Preuzmite naš uzorakradna knjiga s makronaredbama za brisanje praznih redaka i iz nje pokrenite jednu od sljedećih makronaredbi:

    DeleteBlankRows - uklanja prazne retke u trenutno odabranom rasponu.

    RemoveBlankLines - briše prazne retke i pomiče prema gore u rasponu koji odaberete nakon pokretanja makronaredbe.

    DeleteAllEmptyRows - briše sve prazne retke na aktivnom listu.

    DeleteRowIfCellBlank - briše redak ako je ćelija u određenom stupcu prazna.

    Da biste pokrenuli makronaredbu u svom Excelu, učinite sljedeće:

    1. Otvorite preuzetu radnu knjigu i omogućite makronaredbe ako se to od vas zatraži.
    2. Otvorite vlastitu radnu knjigu i idite na radni list koji vas zanima.
    3. Na radnom listu pritisnite Alt + F8, odaberite makronaredbu i kliknite Pokreni .

    Formula za brisanje praznih redaka u Excelu

    U slučaju da želite vidjeti što brišete, upotrijebite sljedeću formulu za prepoznavanje praznih redaka:

    =IF(COUNTA(A2:D2)=0, "Blank", "Not blank")

    Gdje je A2 prva, a D2 posljednja korištena ćelija prvog retka podataka.

    Unesite ovu formulu a u E2 ili bilo kojem drugom praznom stupcu u retku 2 i povucite ručicu za popunjavanje da biste kopirali formulu prema dolje.

    Kao rezultat, imat ćete "Prazno" u praznim redovima i "Nije prazno" u redovima koje sadrže barem jednu ćeliju s podacima:

    Logika formule je očita: brojite neprazne ćelije s funkcijom COUNTA i koristite naredbu IF da vratite "Prazno" za nulti broj, "Nije prazno" inače .

    Ulazu stvari, možete lijepo i bez IF:

    =COUNTA(A2:D2)=0

    U ovom slučaju, formula će vratiti TRUE za prazne retke i FALSE za neprazne retke.

    S formula na mjestu, izvršite ove korake za brisanje praznih redaka:

    1. Odaberite bilo koju ćeliju u retku zaglavlja i kliknite Sortiraj & Filter > Filter na kartici Početna , u Formati Ovo će dodati strelice padajućeg izbornika filtriranja svim ćelijama zaglavlja.
    2. Kliknite strelicu u zaglavlju stupca formule, poništite (Odaberi sve), odaberite Prazno i kliknite U redu :
    3. Odaberite sve filtrirane retke . Za to kliknite na prvu ćeliju prvog filtriranog retka i pritisnite Ctrl + Shift + End za proširenje odabira na posljednju ćeliju zadnjeg filtriranog retka.
    4. Desnom tipkom miša kliknite odabir, odaberite Izbrišite red iz kontekstnog izbornika, a zatim potvrdite da stvarno želite izbrisati cijele retke:
    5. Uklonite filtar pritiskom na Ctrl + Shift + L . Ili kliknite karticu Početna > Sortiraj & Filter > Filter .
    6. Izbrišite stupac s formulom jer vam više ne treba.

    To je to! Kao rezultat, imamo čistu tablicu bez praznih redaka, ali sve informacije su sačuvane:

    Savjet. Umjesto brisanja praznih redaka, možete kopirati neprazne retke negdje drugdje. Da biste to učinili, filtrirajte retke "Nije prazno", odaberite ih i pritisnite Ctrl + C za kopiranje. Zatim prijeđite nadrugi list, odaberite gornju lijevu ćeliju odredišnog raspona i pritisnite Ctrl + V za lijepljenje.

    Kako ukloniti prazne retke u Excelu pomoću Power Queryja

    U Excelu 2016 i Excelu 2019, postoji još jedan način za brisanje praznih redaka - pomoću značajke Power Query. U Excelu 2010 i Excelu 2013 može se preuzeti kao dodatak.

    Važna napomena! Ova metoda radi sa sljedećim upozorenjem: Power Query pretvara izvorne podatke u Excel tablicu i mijenja oblikovanje poput boje ispune, obruba i nekih formata brojeva. Ako vam je važno formatiranje vaših izvornih podataka, radije odaberite neki drugi način za uklanjanje praznih redaka u Excelu.

    1. Odaberite raspon u kojem želite izbrisati prazne retke.
    2. Idite na karticu Podaci > Dohvati & Transformiraj grupu i kliknite Iz tablice/raspona . Ovo će učitati vašu tablicu u Power Query Editor.
    3. Na kartici Početna uređivača Power Query kliknite Ukloni retke > Ukloni prazne retke .
    4. Kliknite Zatvori & Učitaj Ovo će učitati rezultirajuću tablicu na novi radni list i zatvoriti uređivač upita.

    Kao rezultat ovih manipulacija, dobio sam sljedeću tablicu bez praznih redaka, ali s nekoliko gadnih promjena - format valute je izgubljen, a datumi su prikazani u zadanom formatu umjesto prilagođenog:

    Kako izbrisati retke akoćelija u određenom stupcu je prazna

    Na početku ovog vodiča, upozorili smo vas da ne uklanjate prazne retke odabirom praznina. Međutim, ova metoda je korisna ako želite izbrisati retke na temelju prazna mjesta u određenom stupcu .

    Kao primjer, uklonimo sve retke u kojima je ćelija u stupcu A prazna :

    1. Odaberite ključni stupac, stupac A u našem slučaju.
    2. Na kartici Početna kliknite Pronađi & Odaberite > Idi na posebno . Ili pritisnite F5 i kliknite gumb Posebno... .
    3. U dijaloškom okviru Go To Special odaberite Blanks i kliknite OK . Ovo će odabrati prazne ćelije u korištenom rasponu u stupcu A.
    4. Kliknite desnom tipkom miša na bilo koju odabranu ćeliju i odaberite Izbriši… iz kontekstnog izbornika.
    5. U dijaloškom okviru Izbriši odaberite Cijeli red i kliknite U redu.

    Gotovo! Redovi koji nemaju vrijednost u stupcu A više nisu tamo:

    Isti rezultat može se postići filtriranjem praznina u ključnom stupcu.

    Kako ukloniti dodatne retke ispod podataka

    Ponekad, retci koji izgledaju potpuno prazni mogu zapravo sadržavati neke formate ili znakove koji se ne mogu ispisati. Da biste provjerili je li zadnja ćelija s podacima stvarno zadnja korištena ćelija na vašem radnom listu, pritisnite Ctrl + End . Ako vas je ovo odvelo do vizualno praznog retka ispod vaših podataka, u smislu Excela, taj red nije prazan. Da biste uklonili takve retke, učinitesljedeće:

    1. Kliknite zaglavlje prvog praznog retka ispod podataka da biste ga odabrali.
    2. Pritisnite Ctrl + Shift + End . Ovo će odabrati sve retke koji sadrže bilo što uključujući formate, razmake i znakove koji se ne ispisuju.
    3. Desnom tipkom miša kliknite odabir i odaberite Izbriši… > Cijeli red.

    Ako imate relativno mali skup podataka, možda ćete se htjeti riješiti svih praznih redaka ispod podataka, npr. radi lakšeg listanja. Iako ne postoji način brisanja neiskorištenih redaka u Excelu, ne postoji ništa što bi vas spriječilo da ih sakrijete . Evo kako:

    1. Odaberite redak ispod zadnjeg retka s podacima klikom na njegovo zaglavlje.
    2. Pritisnite Ctrl + Shift + strelicu prema dolje da biste proširili odabir na zadnji redak na listu .
    3. Pritisnite Ctrl + 9 da biste sakrili odabrane retke. Ili desnom tipkom miša kliknite odabir, a zatim kliknite Sakrij .

    Da biste otkrili retke , pritisnite Ctrl + A da biste odabrali cijeli list, a zatim pritisnite Ctrl + Shift + 9 da sve linije ponovo budu vidljive.

    Na sličan način možete sakriti neiskorištene prazne stupce s desne strane svojih podataka. Za detaljne korake pogledajte Sakrij neiskorištene retke u Excelu tako da je vidljivo samo radno područje.

    Najbrži način za uklanjanje praznih redaka u Excelu

    Kad čitate prethodne primjere, zar ne osjećati kao da koristimo malj da razbijemo orah? Ovdje, u Ablebitsu, radije ne bismo

    Michael Brown predani je tehnološki entuzijast sa strašću za pojednostavljivanjem složenih procesa pomoću softverskih alata. S više od desetljeća iskustva u tehnološkoj industriji, usavršio je svoje vještine u Microsoft Excelu i Outlooku, kao i Google tablicama i dokumentima. Michaelov blog posvećen je dijeljenju znanja i stručnosti s drugima, pružajući savjete i upute koje je lako slijediti za poboljšanje produktivnosti i učinkovitosti. Bez obzira jeste li iskusni profesionalac ili početnik, Michaelov blog nudi vrijedne uvide i praktične savjete za izvlačenje maksimuma iz ovih osnovnih softverskih alata.