Hoe lege rijen verwijderen in Excel met VBA, formules en Power Query

  • Deel Dit
Michael Brown

Deze handleiding leert u een paar eenvoudige trucs om veilig meerdere lege rijen in Excel te verwijderen zonder ook maar één stukje informatie te verliezen. .

Lege rijen in Excel is een probleem waar we allemaal wel eens mee te maken krijgen, vooral wanneer we gegevens uit verschillende bronnen combineren of informatie van ergens anders importeren. Lege regels kunnen uw werkbladen op verschillende niveaus veel schade toebrengen en het handmatig verwijderen ervan kan een tijdrovend en foutgevoelig proces zijn. In dit artikel leert u een paar eenvoudige en betrouwbare methoden om lege regels te verwijderen inje werkbladen.

    Hoe NIET lege regels verwijderen in Excel

    Er zijn een paar verschillende manieren om lege regels in Excel te verwijderen, maar verrassend genoeg houden veel online bronnen het bij de gevaarlijkste, namelijk Vinden & selecteren > Ga naar Speciale > Blanks .

    Wat is er mis met deze techniek? Het selecteert alle losse flodders in een bereik, en dus zult u uiteindelijk alle rijen verwijderen die ook maar één lege cel bevatten.

    De onderstaande afbeelding toont de oorspronkelijke tabel links en de resulterende tabel rechts. En in de resulterende tabel zijn alle onvolledige rijen verdwenen, zelfs rij 10 waar alleen de datum in kolom D ontbrak:

    Waar het op neerkomt: als u uw gegevens niet wilt verknoeien, verwijder dan nooit lege rijen door lege cellen te selecteren. Gebruik in plaats daarvan een van de meer doordachte benaderingen die hieronder worden besproken.

    Hoe lege rijen verwijderen in Excel met VBA

    Excel VBA kan veel dingen oplossen, waaronder meerdere lege rijen. Het beste van deze aanpak is dat er geen programmeerkennis voor nodig is. Pak gewoon een van de onderstaande codes en voer die uit in uw Excel (de instructies staan hier).

    Macro 1. Verwijder lege regels in een geselecteerd bereik

    Deze VBA-code verwijdert stilletjes alle lege rijen in een geselecteerd bereik, zonder de gebruiker een bericht of dialoogvenster te tonen.

    In tegenstelling tot de vorige techniek verwijdert de macro een regel als de hele rij is leeg Het vertrouwt op de werkbladfunctie CountA om het aantal niet-lege cellen in elke regel te krijgen, en verwijdert dan rijen met het aantal van nul.

    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 Sub

    De gebruiker de gelegenheid geven om selecteer het doelbereik na het uitvoeren van de macro Gebruik deze code:

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _ "Selecteer een bereik:" , "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 Set EntireRow = SourceRange.Cells(I, 1).EntireRow IfApplication.WorksheetFunction.CountA(EntireRow) = 0 Dan EntireRow.Delete End If Next Application.ScreenUpdating = True End If End Sub

    Na uitvoering toont de macro het volgende invoerveld, u selecteert het doelbereik en klikt op OK:

    In een ogenblik worden alle lege regels in het geselecteerde bereik geëlimineerd en de resterende regels verschuiven naar boven:

    Macro 2. Verwijder alle lege rijen in Excel

    Om te verwijderen alle lege rijen op de actief blad bepaalt de laatste rij van het gebruikte bereik (d.w.z. de rij die de laatste cel met gegevens bevat), en gaat dan naar boven om de regels te verwijderen waarvoor CountA nul oplevert:

    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 Sub

    Macro 3. Verwijder rij als cel leeg is

    Met deze macro kunt u een hele rij verwijderen als een cel in de opgegeven kolom leeg is.

    De volgende code controleert kolom A op spaties. Om rijen te verwijderen op basis van een andere kolom, vervangt u "A" door een passende letter.

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

    In feite gebruikt de macro de Ga naar Speciale > Blanks functie, en u kunt hetzelfde resultaat bereiken door deze stappen handmatig uit te voeren.

    Opmerking. De macro verwijdert lege rijen in de geheel vel Als voorzorgsmaatregel kan het verstandig zijn een back-up te maken van het werkblad voordat u deze macro uitvoert.

    Hoe lege regels verwijderen in Excel met VBA

    Om lege rijen in Excel te verwijderen met behulp van een macro, kunt u de VBA-code invoegen in uw eigen werkmap of een macro uitvoeren vanuit onze voorbeeldwerkmap.

    Een macro aan uw werkmap toevoegen

    Voer de volgende stappen uit om een macro in uw werkmap in te voegen:

    1. Open het werkblad waarin u lege rijen wilt verwijderen.
    2. Druk op Alt + F11 om de Visual Basic Editor te openen.
    3. Klik in het linkerdeelvenster met de rechtermuisknop op DitWerkboek en klik dan op Plaats > Module .
    4. Plak de code in het venster Code.
    5. Druk op F5 om de macro uit te voeren.

    Voor de gedetailleerde stapsgewijze instructies, zie Hoe VBA in Excel in te voegen en te gebruiken.

    Een macro uitvoeren vanuit onze voorbeeldwerkmap

    Download onze voorbeeldwerkmap met macro's voor het verwijderen van lege rijen en voer van daaruit een van de volgende macro's uit:

    DeleteBlankRows - verwijdert lege rijen in het huidige geselecteerde bereik.

    RemoveBlankLines - verwijdert lege rijen en schuift op in een bereik dat u selecteert na het uitvoeren van de macro.

    DeleteAllEmptyRows - verwijdert alle lege regels op het actieve blad.

    DeleteRowIfCellBlank - verwijdert een rij als een cel in een bepaalde kolom leeg is.

    Om de macro in uw Excel uit te voeren, doet u het volgende:

    1. Open de gedownloade werkmap en schakel de macro's in als daarom wordt gevraagd.
    2. Open uw eigen werkmap en navigeer naar het gewenste werkblad.
    3. Druk in uw werkblad op Alt + F8, selecteer de macro en klik op Ren .

    Formule om lege rijen in Excel te verwijderen

    Als u wilt zien wat u verwijdert, kunt u de volgende formule gebruiken om lege regels te identificeren:

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

    Waarbij A2 de eerste en D2 de laatst gebruikte cel is van de eerste gegevensrij.

    Voer deze formule in E2 of een andere lege kolom in rij 2 in, en sleep de vulgreep om de formule naar beneden te kopiëren.

    Het resultaat is dat u "Blanco" krijgt in lege rijen en "Niet leeg" in de rijen die ten minste één cel met gegevens bevatten:

    De logica van de formule is duidelijk: u telt niet-lege cellen met de COUNTA-functie en gebruikt de IF-instructie om "Leeg" terug te geven bij een telling van nul, anders "Niet leeg".

    In feite kun je prima zonder IF:

    =COUNTA(A2:D2)=0

    In dit geval geeft de formule WAAR voor lege regels en ONWAAR voor niet lege regels.

    Met de formule op zijn plaats voert u deze stappen uit om lege regels te verwijderen:

    1. Selecteer een cel in de kopregel en klik op Sorteren en filteren > Filter op de Home tabblad, in de Formaten Dit voegt de filterende uitklappijltjes toe aan alle kopcellen.
    2. Klik op de pijl in de kolomkop van de formule, vink (Alles selecteren) uit, selecteer Blanco en klik op OK :
    3. Selecteer alle gefilterde rijen. Klik hiervoor op de eerste cel van de eerste gefilterde rij en druk op Ctrl + Shift + End om de selectie uit te breiden tot de laatste cel van de laatste gefilterde rij.
    4. Rechtsklik op de selectie, kies Rij verwijderen uit het contextmenu, en bevestig dan dat u echt hele rijen wilt verwijderen:
    5. Verwijder het filter door op Ctrl + Shift + L te drukken. Of klik op Home tab> Sorteren en filteren > Filter .
    6. Verwijder de kolom met de formule omdat u die niet meer nodig hebt.

    Het resultaat is een schone tabel zonder witregels, maar met behoud van alle informatie:

    Tip. In plaats van lege regels te verwijderen, kunt u kopieer niet-lege rijen Om het te laten doen, filtert u "Niet lege" rijen, selecteert u ze en drukt u op Ctrl + C om te kopiëren. Schakel vervolgens over naar een ander blad, selecteer de cel linksboven van het bestemmingsbereik en druk op Ctrl + V om te plakken.

    Hoe lege regels verwijderen in Excel met Power Query

    In Excel 2016 en Excel 2019 is er nog een manier om lege rijen te verwijderen - met behulp van de Power Query-functie. In Excel 2010 en Excel 2013 kan deze als add-in worden gedownload.

    Belangrijke opmerking! Deze methode werkt met het volgende voorbehoud: Power Query converteert de brongegevens naar een Excel-tabel en verandert de opmaak zoals vulkleur, randen en sommige getalformaten. Als de opmaak van uw oorspronkelijke gegevens belangrijk voor u is, kunt u beter een andere manier kiezen om lege rijen in Excel te verwijderen.

    1. Selecteer het bereik waarin u lege regels wilt verwijderen.
    2. Ga naar de Gegevens tab> Get & Transformeer groep en klik op Van tabel/bereik Hierdoor wordt uw tabel geladen in de Power Query Editor.
    3. Op de Home tabblad van de Power Query Editor, klik op Rijen verwijderen > Lege rijen verwijderen .
    4. Klik op de Close & Load Dit laadt de resulterende tabel naar een nieuw werkblad en sluit de Query Editor.

    Als resultaat van deze manipulaties kreeg ik de volgende tabel zonder lege regels, maar met een paar vervelende veranderingen - het valutaformaat is verloren gegaan en de datums worden weergegeven in het standaardformaat in plaats van het aangepaste formaat:

    Hoe rijen verwijderen als cel in een bepaalde kolom leeg is

    In het begin van deze tutorial hebben we u gewaarschuwd tegen het verwijderen van lege regels door spaties te selecteren. Deze methode komt echter van pas als u rijen wilt verwijderen op basis van spaties in een specifieke kolom .

    Laten we als voorbeeld alle rijen verwijderen waar een cel in kolom A leeg is:

    1. Selecteer de sleutelkolom, kolom A in ons geval.
    2. Op de Home tabblad, klik op Vinden & selecteren > Ga naar Speciale Of druk op F5 en klik op de Speciaal... knop.
    3. In de Ga naar Speciale dialoog, selecteer Blanks en klik op OK Dit selecteert de lege cellen in het gebruikte bereik in kolom A.
    4. Klik met de rechtermuisknop op een geselecteerde cel en kies Delete... uit het contextmenu.
    5. In de Verwijder dialoogvenster, kies Hele rij en klik op OK.

    Klaar! De rijen die geen waarde hebben in kolom A zijn er niet meer:

    Hetzelfde resultaat kan worden bereikt door spaties in de sleutelkolom te filteren.

    Hoe extra regels onder gegevens verwijderen

    Soms kunnen de rijen die helemaal leeg lijken in werkelijkheid enkele formaten of niet-afdrukbare tekens bevatten. Om te controleren of de laatste cel met gegevens werkelijk de laatst gebruikte cel in uw werkblad is, drukt u op Ctrl + End . Als u daardoor in een visueel lege rij onder uw gegevens terecht bent gekomen, is die rij in termen van Excel niet leeg. Om dergelijke rijen te verwijderen, doet u het volgende:

    1. Klik op de kop van de eerste lege rij onder uw gegevens om deze te selecteren.
    2. Druk op Ctrl + Shift + End . Dit selecteert alle regels die iets bevatten, inclusief formaten, spaties en niet-afdrukbare tekens.
    3. Klik met de rechtermuisknop op de selectie en kies Delete... > Hele rij.

    Als u een relatief kleine gegevensverzameling hebt, wilt u misschien alle lege regels onder uw gegevens verwijderen, bijvoorbeeld om het scrollen te vergemakkelijken. Hoewel er geen manier is om ongebruikte rijen in Excel te verwijderen, is er niets dat u belet om verbergen hen. Hier is hoe:

    1. Selecteer de rij onder de laatste rij met gegevens door op de kop ervan te klikken.
    2. Druk op Ctrl + Shift + Pijl omlaag om de selectie uit te breiden tot de laatste rij op het blad.
    3. Druk op Ctrl + 9 om de geselecteerde rijen te verbergen. Of rechtsklik op de selectie en klik vervolgens op Verberg .

    Naar de rijen verbergen Druk op Ctrl + A om het hele blad te selecteren, en vervolgens op Ctrl + Shift + 9 om alle lijnen weer zichtbaar te maken.

    Op soortgelijke wijze kunt u ongebruikte lege kolommen rechts van uw gegevens verbergen. Voor de gedetailleerde stappen, zie Ongebruikte rijen in Excel verbergen zodat alleen het werkgebied zichtbaar is.

    Snelste manier om lege rijen in Excel te verwijderen

    Voelde het bij het lezen van de vorige voorbeelden niet alsof we een voorhamer gebruikten om een noot te kraken? Hier bij Ablebits maken we dingen liever niet ingewikkelder dan nodig is. Dus gingen we een stap verder en creëerden we een twee-klik route om lege rijen in Excel te verwijderen.

    Met de Ultimate Suite toegevoegd aan uw lint, kunt u het volgende doen alle lege rijen verwijderen in een werkblad:

    1. Op de Ablebits Gereedschap tabblad, in de Transformeer groep, klik Blanco's verwijderen > Lege rijen :
    2. De invoegtoepassing meldt dat alle lege rijen uit het actieve werkblad worden verwijderd en vraagt om een bevestiging. Klik op OK, en zo meteen worden alle lege rijen verwijderd.

    Zoals in onderstaande schermafbeelding te zien is, hebben we alleen verwijderd absoluut lege regels die geen enkele cel met gegevens hebben:

    Om meer te weten te komen over de geweldige functies van onze Ultimate Suite voor Excel, kunt u een proefversie downloaden.

    Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!

    Michael Brown is een toegewijde technologieliefhebber met een passie voor het vereenvoudigen van complexe processen met behulp van softwaretools. Met meer dan tien jaar ervaring in de technische industrie heeft hij zijn vaardigheden in Microsoft Excel en Outlook, evenals Google Spreadsheets en Documenten aangescherpt. Michael's blog is gewijd aan het delen van zijn kennis en expertise met anderen, met eenvoudig te volgen tips en tutorials voor het verbeteren van de productiviteit en efficiëntie. Of je nu een doorgewinterde professional of een beginner bent, Michaels blog biedt waardevolle inzichten en praktisch advies om het meeste uit deze essentiële softwaretools te halen.