Hoe kinne jo lege rigen yn Excel wiskje mei VBA, formules en Power Query

  • Diel Dit
Michael Brown

Dizze tutorial sil jo in pear ienfâldige trúkjes leare om meardere lege rigen yn Excel feilich te wiskjen sûnder ien inkeld stikje ynformaasje te ferliezen .

Lege rigen yn Excel is in probleem wêr't wy allegear foar stean sa no en dan, benammen by it kombinearjen fan gegevens út ferskate boarnen of it ymportearjen fan ynformaasje fan earne oars. Lege rigels kinne in soad ferneatiging feroarsaakje oan jo wurkblêden op ferskate nivo's en it manuell wiskjen kin in tiidslinend en flaterfol proses wêze. Yn dit artikel sille jo in pear ienfâldige en betroubere metoaden leare om blanks yn jo wurkblêden te ferwiderjen.

    Hoe NET lege rigels yn Excel fuortsmite

    Der binne in pear ferskate manieren om te wiskjen lege rigels yn Excel, mar ferrassend in protte online middels stick mei de meast gefaarlike, nammentlik Fyn & amp; Selektearje > Gean nei spesjale > Blanks .

    Wat is der mis mei dizze technyk? It selekteart alle blanken yn in berik, en sadwaande sille jo einigje mei it wiskjen fan alle rigen dy't safolle as ien lege sel befetsje.

    De ûndersteande ôfbylding lit de orizjinele tabel oan de linkerkant en de resultearjende tabel oan de rjochterkant. En yn 'e resultearjende tabel binne alle ûnfolsleine rigen ferdwûn, sels rige 10 wêr't allinich de datum yn kolom D ûntbrekt:

    De ûnderste rigel: as jo jo gegevens net fergrieme wolle, wiskje noait leech rigen troch lege sellen te selektearjen. Brûk ynstee ien fan 'e mear beskôge oanpakken dy't besprutsen binnemeitsje dingen komplekser dan se moatte wêze. Dat, wy namen in stap fierder en makken in twa-klik rûte om lege rigen yn Excel te wiskjen.

    Mei de Ultimate Suite tafoege oan jo lint, hjir is hoe't jo kinne alle lege rigen wiskje yn in wurkblêd:

    1. Op it ljepblêd Ablebits-ark , yn 'e groep Transformearje , klikje op Blanken wiskje > Lege rigen :
    2. De tafoeging sil jo ynformearje dat alle lege rigen fan it aktive wurkblêd fuortsmiten wurde en freegje om te befêstigjen. Klikje op OK, en yn in momint wurde alle lege rigen fuortsmiten.

    Lykas werjûn yn 'e skermôfbylding hjirûnder, hawwe wy allinich absolút lege rigels fuortsmiten dy't gjin inkele sel mei gegevens hawwe:

    Om te finen út mear geweldige funksjes opnommen mei ús Ultimate Suite foar Excel, jo binne wolkom om in proefferzje te downloaden.

    Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

    hjirûnder.

    Hoe kinne jo lege rigen yn Excel fuortsmite mei VBA

    Excel VBA kin in protte dingen reparearje, ynklusyf meardere lege rigen. It bêste ding oer dizze oanpak is dat it gjin programmearfeardigens fereasket. Simply, grab ien fan de hjirûnder koades en útfiere it yn jo Excel (de ynstruksjes binne hjir).

    Makro 1. Wiskje lege rigels yn in selektearre berik

    Dizze VBA-koade wisket stil alle leech rigen yn in selektearre berik, sûnder in berjocht of dialoochfinster sjen te litten oan de brûker.

    Oars as de foarige technyk, wisket de makro in rigel as de hiele rige leech is . It fertrout op it wurkblêd funksje CountA te krijen it oantal net-lege sellen yn elke rigel, en dan wisket rigen mei de nul count.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. Seleksje as net (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 Sub

    Om de brûker in kâns te jaan om it doelberik te selektearjen nei it útfieren fan de makro , brûk dizze koade:

    Iepenbier Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Flater Resume Next Set SourceRange = Application.InputBox( _"Selektearje in berik:" , "Lege rigen wiskje" , _ Application.Selection.Address, Type :=8) As net (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 Sub

    By it útfieren, lit de makro sjen it folgjende ynfierfakje, selektearje jo it doelberik en klikje op OK:

    Yn in momint wurde alle lege rigels yn it selektearre berik eliminearre en de oerbleaune sille omheech:

    Makro 2. Wiskje alle lege rigen yn Excel

    Om alle lege rigen op it aktive blêd te ferwiderjen, bepale de lêste rige fan it brûkte berik (d.w.s. de rige mei de lêste sel mei gegevens), en gean dan nei boppen en wiskje de rigels wêrfoar CountA nul jout:

    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).(RowIn Enddex). If Next RowIndex Application.ScreenUpdating = True End Sub

    Macro 3. Wiskje rige as sel leech is

    Mei dizze makro kinne jo in hiele rige wiskje as in sel yn 'e opjûnekolom is leech.

    De folgjende koade kontrolearret kolom A op blanks. Om rigen te wiskjen basearre op in oare kolom, ferfange "A" troch in passende letter.

    Sub DeleteRowIfCellBlank() By flater Ferfetsje folgjende kolommen( "A").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As in feitlik brûkt de makro de funksje Gean nei spesjale > Blanks , en jo kinne itselde resultaat berikke troch dizze stappen mei de hân út te fieren.

    Opmerking. De makro wisket lege rigen yn it hiele blêd , dus wês tige foarsichtich by it brûken fan it. As foarsoarch kin it ferstannich wêze om it wurkblêd in reservekopy te meitsjen foardat jo dizze makro útfiere.

    Hoe kinne jo lege rigels yn Excel fuortsmite mei VBA

    Om lege rigen yn Excel te wiskjen mei in makro, kinne jo kin de VBA-koade yn jo eigen wurkboek ynfoegje of in makro útfiere út ús foarbyldwurkboek.

    In makro taheakje oan jo wurkboek

    Om in makro yn jo wurkboek yn te foegjen, fiere dizze stappen:

    1. Iepenje it wurkblêd wêr't jo lege rigen wiskje wolle.
    2. Druk op Alt + F11 om de Visual Basic Editor te iepenjen.
    3. Op it linker paniel, rjochts-klikke ThisWorkbook , en klik dan op Ynfoegje > Module .
    4. Plak de koade yn it Koadefinster.
    5. Druk op F5 om de makro út te fieren.

    Foar de detaillearre stap-foar-stap ynstruksjes, sjoch hoe't jo VBA yn Excel ynfoegje en brûke.

    In makro útfiere út ús foarbyldwurkboek

    Download ús foarbyldwurkboek mei makro's om lege rigen te wiskjen en dêrwei ien fan 'e folgjende makro's út te fieren:

    Blanke rigen wiskje - ferwideret lege rigen yn it no selektearre berik.

    BlankeLines fuortsmite. - wisket lege rigen en ferskowt omheech yn in berik dat jo selektearje nei it útfieren fan de makro.

    DeleteAllEmptyRows - wisket alle lege rigels op it aktive blêd.

    DeleteRowIfCellBlank - wisket in rige as in sel yn in spesifike kolom leech is.

    Om de makro yn jo Excel út te fieren, dwaan it folgjende:

    1. Iepenje de ynladen wurkboek en aktivearje de makro's as frege wurdt.
    2. Iepenje jo eigen wurkboek en navigearje nei it wurkblêd fan belang.
    3. Druk yn jo wurkblêd Alt + F8, selektearje de makro en klik op Run .

    Formule om lege rigen yn Excel te wiskjen

    Yn gefal jo wolle sjen wat jo wiskje, brûk dan de folgjende formule om lege rigels te identifisearjen:

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

    Dêr't A2 de earste is en D2 de lêste brûkte sel fan 'e earste gegevensrige is.

    Fier dizze formule yn a yn E2 of in oare lege kolom yn rige 2, en sleep de fillhandgreep om de formule nei ûnderen te kopiearjen.

    As resultaat hawwe jo "Leech" yn lege rigen en "Net leech" yn 'e rigen dy't op syn minst ien sel mei gegevens befetsje:

    De logika fan 'e formule is fanselssprekkend: jo telle net-lege sellen mei de COUNTA-funksje en brûke de IF-statement om "Leech" werom te jaan foar nul tellen, "Net leech" oars .

    Infeit, jo kinne it moai dwaan sûnder IF:

    =COUNTA(A2:D2)=0

    Yn dit gefal sil de formule TRUE weromjaan foar lege rigels en FALSE foar net-lege rigels.

    Mei de formule yn plak, útfiere dizze stappen foar in wiskjen lege rigels:

    1. Selektearje eltse sel yn de koptekst rige en klik Sortearje & Filter > Filter op it ljepblêd Thús , yn de Formaten Dit sil de pylken fan it filterjen taheakje oan alle koptekstellen.
    2. Klik op de pylk yn de kolomkop fan de formule, ûntselektearje (Alles selektearje), selektearje Blank en klik op OK :
    3. Selektearje alle filtere rigen . Klikje hjirfoar op de earste sel fan de earste filtere rige en druk op Ctrl + Shift + End om de seleksje út te wreidzjen nei de lêste sel fan de lêste filtere rige.
    4. Rjochtsklik op de seleksje, kies Wiskje rige út it kontekstmenu, en befêstigje dan dat jo wirklik folsleine rigen wiskje wolle:
    5. Ferwiderje it filter troch op Ctrl + Shift + L te drukken. Of klik op Thús tab > Sortearje & Filter > Filter .
    6. Wiskje de kolom mei de formule om't jo it net mear nedich hawwe.

    Dat is it! As gefolch hawwe wy in skjinne tabel mei gjin lege rigels, mar alle ynformaasje bewarre:

    Tip. Ynstee fan lege rigels te wiskjen, kinne jo net-lege rigen nei earne oars kopiearje. Om it te dwaan, filterje "Net lege" rigen, selektearje se en druk op Ctrl + C om te kopiearjen. Dan oerskeakelje neiin oar blêd, selektearje de sel boppe-links fan it bestimmingsberik en druk op Ctrl + V om te plakjen.

    Hoe kinne jo lege rigels yn Excel fuortsmite mei Power Query

    Yn Excel 2016 en Excel 2019, d'r is noch ien manier om lege rigen te wiskjen - troch de Power Query-funksje te brûken. Yn Excel 2010 en Excel 2013 kin it downloade wurde as in add-in.

    Wichtige opmerking! Dizze metoade wurket mei de folgjende warskôging: Power Query konvertearret de boarnegegevens yn in Excel-tabel en feroaret de opmaak lykas folkleur, grinzen en guon nûmerformaten. As de opmaak fan jo orizjinele gegevens wichtich foar jo is, dan kinne jo better in oare manier kieze om lege rigen yn Excel te ferwiderjen.

    1. Selektearje it berik dêr't jo lege rigels wiskje wolle.
    2. Gean nei it ljepblêd Data > Krij & Transformearje groep en klik op Fan tabel/berik . Dit sil jo tabel lade nei de Power Query Editor.
    3. Op it ljepblêd Thús fan 'e Power Query Editor, klikje op Rijen fuortsmite > Lege rigen fuortsmite .
    4. Klik op de Slút & Laden Dit sil de resultearjende tabel lade nei in nij wurkblêd en slute de Query Editor.

    Yn it resultaat fan dizze manipulaasjes krige ik de folgjende tabel sûnder lege rigels, mar mei in pear ferfelende feroarings - it falutaformaat is ferlern en de datums wurde werjûn yn it standertformaat ynstee fan de oanpaste:

    Hoe kinne jo rigen wiskje assel yn in bepaalde kolom is leech

    Yn it begjin fan dizze tutorial hawwe wy jo warskôge foar it fuortheljen fan lege rigels troch blanks te selektearjen. Dizze metoade komt lykwols fan pas as jo rigen wiskje wolle op basis fan blanken yn in spesifike kolom .

    Litte wy as foarbyld alle rigen fuortsmite wêr't in sel yn kolom A leech is :

    1. Selektearje de kaaikolom, kolom A yn ús gefal.
    2. Op it ljepblêd Thús klikje op Fyn & Selektearje > Gean nei spesjaal . Of druk op F5 en klik op de knop Spesjaal... .
    3. Selektearje yn it dialoochfinster Gean nei spesjaal Blanken en klik op OK . Dit sil lege sellen selektearje yn it brûkte berik yn kolom A.
    4. Rjochtsklikke op elke selektearre sel en kies Wiskje... út it kontekstmenu.
    5. Kies yn it dialoochfinster Wiskje Hele rige en klikje op OK.

    Klear! De rigen dy't gjin wearde hawwe yn kolom A binne der net mear:

    Itselde resultaat kin berikt wurde troch it filterjen fan blanks yn 'e kaaikolom.

    Hoe kinne jo ekstra rigels ûnder gegevens ferwiderje

    Soms kinne de rigen dy't folslein leech lykje, guon formaten of net-printbere tekens befetsje. Om te kontrolearjen oft de lêste sel mei gegevens echt de lêste brûkte sel yn jo wurkblêd is, druk dan op Ctrl + End . As dit jo nei in visueel lege rige ûnder jo gegevens hat brocht, yn termen fan Excel, is dy rige net leech. Om fuortsmite sokke rigen, doch defolgjende:

    1. Klik op de koptekst fan de earste lege rige ûnder jo gegevens om dizze te selektearjen.
    2. Druk op Ctrl + Shift + End . Dit sil alle rigels selektearje dy't alles befetsje ynklusyf opmaak, spaasjes en net-printe tekens.
    3. Rjochtsklik op de seleksje en kies Wiskje... > Hele rige.

    As jo ​​in relatyf lytse gegevensset hawwe, wolle jo miskien alle lege rigels ûnder jo gegevens kwytreitsje, bgl. om it rôljen makliker te meitsjen. Hoewol, d'r is gjin manier om net brûkte rigen yn Excel te wiskjen, d'r is neat dat jo foarkomme dat se ferbergje . Hjir is hoe:

    1. Selektearje de rige ûnder de lêste rige mei gegevens troch op de koptekst te klikken.
    2. Druk op Ctrl + Shift + Pijl omleech om de seleksje út te wreidzjen nei de lêste rige op it blêd .
    3. Druk op Ctrl + 9 om de selektearre rigen te ferbergjen. Of klik mei de rechtermuisknop op de seleksje, en klik dan op Hide .

    Om de rigen te sjen , druk op Ctrl + A om it hiele blêd te selektearjen, en druk dan op Ctrl + Shift + 9 om alle rigels wer sichtber te meitsjen.

    Op in fergelykbere manier kinne jo net brûkte lege kolommen rjochts fan jo gegevens ferbergje. Foar de detaillearre stappen, sjoch asjebleaft Net brûkte rigen yn Excel ferbergje, sadat allinich wurkgebiet sichtber is.

    Fastste manier om lege rigen yn Excel te ferwiderjen

    By it lêzen fan de foarige foarbylden, is it net sa fielst dat wy in foarhamer brûkten om in nut te kraken? Hjir, by Ablebits, wolle wy it leaver net

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.