Sådan sletter du tomme rækker i Excel med VBA, formler og Power Query

  • Del Dette
Michael Brown

Denne vejledning vil lære dig et par enkle tricks til at slette flere tomme rækker i Excel sikkert uden at miste en eneste bit af information. .

Tomme rækker i Excel er et problem, som vi alle står over for en gang imellem, især når vi kombinerer data fra forskellige kilder eller importerer oplysninger fra et andet sted. Tomme linjer kan forårsage en masse ravage i dine regneark på forskellige niveauer, og det kan være en tidskrævende og fejlbehæftet proces at slette dem manuelt. I denne artikel vil du lære et par enkle og pålidelige metoder til at fjerne tomme rækker idine arbejdsark.

    Sådan fjerner du IKKE tomme linjer i Excel

    Der er et par forskellige måder at slette tomme linjer i Excel på, men overraskende mange online ressourcer holder sig til den farligste af dem, nemlig Find & Vælg > Gå til Special > Ubearbejdede emner .

    Hvad er der galt med denne teknik? Den vælger alle emner i et område, og derfor vil du ende med at slette alle rækker, der indeholder så meget som en enkelt tom celle.

    Nedenstående billede viser den oprindelige tabel til venstre og den resulterende tabel til højre. I den resulterende tabel er alle ufuldstændige rækker forsvundet, selv række 10, hvor kun datoen i kolonne D manglede:

    Det vigtigste er: Hvis du ikke vil ødelægge dine data, skal du aldrig slette tomme rækker ved at markere tomme celler. Brug i stedet en af de mere velovervejede metoder, der er beskrevet nedenfor.

    Sådan fjerner du tomme rækker i Excel med VBA

    Excel VBA kan rette mange ting, herunder flere tomme rækker. Det bedste ved denne fremgangsmåde er, at den ikke kræver nogen programmeringsfærdigheder. Du skal blot hente en af nedenstående koder og køre den i din Excel (vejledningen er her).

    Makro 1. Slet tomme linjer i et udvalgt område

    Denne VBA-kode sletter lydløst alle tomme rækker i et udvalgt område uden at vise brugeren nogen meddelelse eller dialogboks.

    I modsætning til den foregående teknik sletter makroen en linje, hvis hele rækken er tom Den er afhængig af regnearksfunktionen CountA for at få antallet af ikke-tomme celler i hver linje og sletter derefter rækker med et nultal.

    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

    At give brugeren mulighed for at vælge målområdet efter at have kørt makroen , bruge denne kode:

    Public 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 Set EntireRow = SourceRange.Cells(I, 1).EntireRow IfApplication.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating = True End If End If End Sub

    Når makroen kører, vises følgende indtastningsboks, du vælger målområdet og klikker på OK:

    Om et øjeblik vil alle tomme linjer i det valgte område blive fjernet, og de resterende linjer vil blive flyttet op:

    Makro 2. Slet alle tomme rækker i Excel

    For at fjerne alle tomme rækker på den aktivt ark , bestemmer den sidste række i det anvendte område (dvs. den række, der indeholder den sidste celle med data), og går derefter opad og sletter de linjer, for hvilke CountA returnerer nul:

    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

    Makro 3. Slet række, hvis celle er tom

    Med denne makro kan du slette en hel række, hvis en celle i den angivne kolonne er tom.

    Følgende kode kontrollerer kolonne A for tomme felter. Hvis du vil slette rækker baseret på en anden kolonne, skal du erstatte "A" med et passende bogstav.

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

    Faktisk bruger makroen makroen den Gå til Special > Ubearbejdede emner funktionen, og du kan opnå det samme resultat ved at udføre disse trin manuelt.

    Bemærk. Makroen sletter tomme rækker i hele arket , så vær meget forsigtig, når du bruger den. Som en sikkerhedsforanstaltning kan det være klogt at sikkerhedskopiere regnearket, før du kører denne makro.

    Sådan fjerner du tomme linjer i Excel med VBA

    Hvis du vil slette tomme rækker i Excel ved hjælp af en makro, kan du enten indsætte VBA-koden i din egen arbejdsbog eller køre en makro fra vores eksempelarbejdsbog.

    Tilføj en makro til din projektmappe

    Du kan indsætte en makro i din projektmappe ved at udføre følgende trin:

    1. Åbn det regneark, hvor du vil slette tomme rækker.
    2. Tryk på Alt + F11 for at åbne Visual Basic-editoren.
    3. Højreklik på i venstre rude på ThisWorkbook , og klik derefter på Indsæt > Modul .
    4. Indsæt koden i vinduet Kode.
    5. Tryk på F5 for at køre makroen.

    Du kan finde en detaljeret trin-for-trin-vejledning under Sådan indsætter og bruger du VBA i Excel.

    Kør en makro fra vores prøvearbejdsbog

    Download vores eksempelarbejdsbog med makroer til at slette tomme rækker og kør en af følgende makroer derfra:

    DeleteBlankRows - fjerner tomme rækker i det aktuelt valgte område.

    RemoveBlankLines - sletter tomme rækker og skifter op i et område, som du vælger, efter at du har kørt makroen.

    DeleteAllEmptyRows - sletter alle tomme linjer på det aktive ark.

    DeleteRowIfCellBlank - sletter en række, hvis en celle i en bestemt kolonne er tom.

    For at køre makroen i Excel skal du gøre følgende:

    1. Åbn den downloadede arbejdsbog, og aktiver makroerne, hvis du bliver bedt om det.
    2. Åbn din egen projektmappe, og gå til det ønskede regneark.
    3. Tryk på Alt + F8 i dit regneark, vælg makroen, og klik på Kør .

    Formel til at slette tomme rækker i Excel

    Hvis du gerne vil se, hvad du sletter, kan du bruge følgende formel til at identificere tomme linjer:

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

    Hvor A2 er den første og D2 er den sidst anvendte celle i den første datarække.

    Indtast denne formel i E2 eller en anden tom kolonne i række 2, og træk i udfyldningshåndtaget for at kopiere formlen nedad.

    Resultatet er, at du får "Blank" i tomme rækker og "Ikke blank" i de rækker, der indeholder mindst én celle med data:

    Formlens logik er indlysende: du tæller ikke-tomme celler med funktionen COUNTA og bruger IF-anvisningen til at returnere "Blank" for nul, ellers "Not Blank".

    Faktisk kan du fint klare dig uden IF:

    =COUNTA(A2:D2)=0

    I dette tilfælde returnerer formlen TRUE for tomme linjer og FALSE for ikke-tomme linjer.

    Når formlen er på plads, skal du udføre disse trin for at slette tomme linjer:

    1. Vælg en celle i overskriftsrækken, og klik på Sortere & Filtrere > Filter på den Hjem under fanen, i fanen Formater Dette vil tilføje filtreringspilene til alle overskriftsceller.
    2. Klik på pilen i formelkolonneoverskriften, fjern markeringen af (Vælg alle), vælg Blank og klik på OK :
    3. Vælg alle de filtrerede rækker. Klik på den første celle i den første filtrerede række, og tryk på Ctrl + Shift + End for at udvide markeringen til den sidste celle i den sidste filtrerede række.
    4. Højreklik på markeringen, vælg Slet række fra kontekstmenuen, og bekræft derefter, at du virkelig ønsker at slette hele rækker:
    5. Fjern filteret ved at trykke på Ctrl + Shift + L . Eller klik på Hjem faneblad> Sortere & Filtrere > Filter .
    6. Slet kolonnen med formlen, da du ikke længere har brug for den.

    Det er det! Resultatet er en ren tabel uden tomme linjer, men med alle oplysninger bevaret:

    Tip. I stedet for at slette tomme linjer kan du kopiere ikke-tomme rækker For at få det gjort, skal du filtrere "Ikke tomme" rækker, markere dem og trykke Ctrl + C for at kopiere. Skift derefter til et andet ark, vælg den øverste venstre celle i destinationsområdet og tryk Ctrl + V for at indsætte.

    Sådan fjerner du tomme linjer i Excel med Power Query

    I Excel 2016 og Excel 2019 er der endnu en måde at slette tomme rækker på - ved hjælp af Power Query-funktionen. I Excel 2010 og Excel 2013 kan den downloades som et tilføjelsesprogram.

    Vigtig bemærkning! Denne metode fungerer med følgende forbehold: Power Query konverterer kildedataene til en Excel-tabelle og ændrer formateringen, f.eks. fyldfarve, rammer og nogle talformater. Hvis formateringen af dine oprindelige data er vigtig for dig, skal du hellere vælge en anden måde at fjerne tomme rækker i Excel på.

    1. Vælg det område, hvor du ønsker at slette tomme linjer.
    2. Gå til Data faneblad> Få & omdanne gruppe, og klik på Fra tabel/område Dette indlæser din tabel i Power Query Editor.
    3. På den Hjem i Power Query Editor, skal du klikke på Fjern rækker > Fjern tomme rækker .
    4. Klik på den Luk & Indlæs Dette vil indlæse den resulterende tabel i et nyt regneark og lukke Query Editor.

    Resultatet af disse manipulationer er følgende tabel uden tomme linjer, men med et par ubehagelige ændringer - valutaformatet er tabt, og datoerne vises i standardformatet i stedet for det tilpassede format:

    Sådan slettes rækker, hvis cellen i en bestemt kolonne er tom

    I begyndelsen af denne vejledning advarede vi dig mod at fjerne tomme linjer ved at vælge blanke linjer. Denne metode er dog praktisk, hvis du vil slette rækker baseret på tomme felter i en bestemt kolonne .

    Lad os f.eks. fjerne alle de rækker, hvor en celle i kolonne A er tom:

    1. Vælg den vigtigste kolonne, kolonne A i vores tilfælde.
    2. På den Hjem klikker du på Find & Vælg > Gå til Special Eller tryk på F5, og klik på Særligt... knap.
    3. I den Gå til Special dialogboksen, vælg Ubearbejdede emner og klik på OK Dette vil vælge tomme celler i det anvendte område i kolonne A.
    4. Højreklik på en markeret celle, og vælg Slet... fra kontekstmenuen.
    5. I den Slet dialogboksen, vælg Hele rækken og klik på OK.

    Færdig! De rækker, der ikke har en værdi i kolonne A, er ikke længere til stede:

    Det samme resultat kan opnås ved at filtrere tomme felter i nøglekolonnen.

    Sådan fjerner du ekstra linjer under data

    Nogle gange kan de rækker, der ser helt tomme ud, faktisk indeholde nogle formater eller tegn, der ikke kan skrives. Hvis du vil kontrollere, om den sidste celle med data virkelig er den sidst anvendte celle i dit regneark, skal du trykke på Ctrl + End . Hvis dette har ført dig til en visuelt tom række under dine data, er denne række ikke tom i Excel. Du kan fjerne sådanne rækker ved at gøre følgende:

    1. Klik på overskriften på den første tomme række under dine data for at vælge den.
    2. Tryk på Ctrl + Shift + End . Dette markerer alle linjer, der indeholder noget, herunder formater, mellemrum og tegn, der ikke trykkes.
    3. Højreklik på markeringen, og vælg Slet... > Hele rækken.

    Hvis du har et relativt lille datasæt, vil du måske gerne fjerne alle tomme linjer under dine data, f.eks. for at gøre det lettere at rulle. Selv om der ikke er nogen måde at slette ubrugte rækker i Excel, er der intet, der forhindrer dig i at skjul Sådan gør du:

    1. Vælg rækken under den sidste række med data ved at klikke på dens overskrift.
    2. Tryk på Ctrl + Shift + pil nedad for at udvide markeringen til den sidste række på arket.
    3. Tryk på Ctrl + 9 for at skjule de markerede rækker. Eller højreklik på markeringen, og klik derefter på Skjul .

    Til fjerne skjul på rækkerne , tryk på Ctrl + A for at markere hele arket, og tryk derefter på Ctrl + Shift + 9 for at gøre alle linjerne synlige igen.

    På samme måde kan du skjule ubrugte tomme kolonner til højre for dine data. Du kan finde de detaljerede trin i Skjul ubrugte rækker i Excel, så kun arbejdsområdet er synligt.

    Hurtigste måde at fjerne tomme rækker i Excel på

    Føltes det ikke, som om vi brugte en forhammer til at knække en nød? Her hos Ablebits foretrækker vi ikke at gøre tingene mere komplekse, end de behøver at være. Så vi tog et skridt videre og skabte en rute med to klik til at slette tomme rækker i Excel.

    Når Ultimate Suite er tilføjet til dit bånd, kan du se her, hvordan du kan slette alle tomme rækker i et regneark:

    1. På den Ablebits-værktøjer under fanen, i fanen Transform gruppe, klik på Slet tomme felter > Tomme rækker :
    2. Tilføjelsesprogrammet informerer dig om, at alle tomme rækker vil blive fjernet fra det aktive regneark, og beder dig om at bekræfte det. Klik på OK, og om et øjeblik vil alle tomme rækker blive fjernet.

    Som vist i skærmbilledet nedenfor har vi kun fjernet helt tomme linjer der ikke har en eneste celle med data:

    Hvis du vil vide mere om de fantastiske funktioner i vores Ultimate Suite for Excel, er du velkommen til at downloade en prøveversion.

    Jeg takker for din læsning og håber at se dig på vores blog i næste uge!

    Michael Brown er en dedikeret teknologientusiast med en passion for at forenkle komplekse processer ved hjælp af softwareværktøjer. Med mere end ti års erfaring i teknologibranchen har han finpudset sine færdigheder i Microsoft Excel og Outlook samt Google Sheets og Docs. Michaels blog er dedikeret til at dele sin viden og ekspertise med andre og giver nemme at følge tips og vejledninger til at forbedre produktiviteten og effektiviteten. Uanset om du er en erfaren professionel eller nybegynder, tilbyder Michaels blog værdifuld indsigt og praktiske råd til at få mest muligt ud af disse vigtige softwareværktøjer.