Hoe om leë rye in Excel uit te vee met VBA, formules en Power Query

  • Deel Dit
Michael Brown

Hierdie tutoriaal sal jou 'n paar eenvoudige truuks leer om veelvuldige leë rye in Excel veilig uit te vee sonder om 'n enkele bietjie inligting te verloor .

Leë rye in Excel is 'n probleem waarmee ons almal te kampe het af en toe, veral wanneer data van verskillende bronne gekombineer word of inligting van iewers anders af ingevoer word. Leë lyne kan baie verwoesting vir jou werkblaaie op verskillende vlakke veroorsaak en om dit met die hand uit te vee kan 'n tydrowende en foutgevoelige proses wees. In hierdie artikel sal jy 'n paar eenvoudige en betroubare metodes leer om spasies in jou werkblaaie te verwyder.

    Hoe om NIE leë reëls in Excel te verwyder nie

    Daar is 'n paar verskillende maniere om leë lyne in Excel uit te vee, maar verbasend baie aanlyn bronne hou by die gevaarlikste een, naamlik Vind & Kies > Gaan na spesiale > Blanks .

    Wat is fout met hierdie tegniek? Dit kies alle spasies in 'n reeks, en gevolglik sal jy alle rye wat soveel as 'n enkele leë sel bevat, uitvee.

    Die onderstaande prent wys die oorspronklike tabel aan die linkerkant en die resulterende tabel aan die regterkant. En in die resulterende tabel is alle onvolledige rye weg, selfs ry 10 waar net die datum in kolom D ontbreek het:

    Die bottom line: as jy nie jou data wil mors nie, moet nooit leeg uitvee nie rye deur leë selle te kies. Gebruik eerder een van die meer deurdagte benaderings wat bespreek ismaak dinge meer kompleks as wat dit moet wees. So, ons het 'n stap verder geneem en 'n twee-klik-roete geskep om leë rye in Excel uit te vee.

    Met die Ultimate Suite by jou lint gevoeg, is dit hoe jy alle leë rye kan uitvee in 'n werkblad:

    1. Op die Ablebits Tools -oortjie, in die Transformeer -groep, klik Delete Blanks > Leë rye :
    2. Die byvoeging sal jou inlig dat alle leë rye van die aktiewe werkblad verwyder gaan word en vra om te bevestig. Klik OK, en binne 'n oomblik sal alle leë rye uitgeskakel word.

    Soos getoon in die skermkiekie hieronder, het ons net absoluut leë reëls verwyder wat nie 'n enkele sel met data het nie:

    Om te vind uit meer wonderlike kenmerke wat by ons Ultimate Suite vir Excel ingesluit is, is jy welkom om 'n proefweergawe af te laai.

    Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    hieronder.

    Hoe om leë rye in Excel met VBA te verwyder

    Excel VBA kan baie dinge regmaak, insluitend veelvuldige leë rye. Die beste ding van hierdie benadering is dat dit geen programmeringsvaardighede vereis nie. Gryp eenvoudig een van die onderstaande kodes en hardloop dit in jou Excel (die instruksies is hier).

    Makro 1. Vee leë reëls in 'n geselekteerde reeks uit

    Hierdie VBA-kode vee stilweg alle leë dele uit rye in 'n geselekteerde reeks, sonder om enige boodskap of dialoogkassie aan die gebruiker te wys.

    Anders as die vorige tegniek, verwyder die makro 'n reël as die hele ry leeg is . Dit maak staat op die werkbladfunksie CountA om die aantal nie-leë selle in elke reël te kry, en vee dan rye uit met die nultelling.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. Seleksie Indien nie (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Stap -1 Stel 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 die gebruiker 'n geleentheid te gee om die teikenreeks te kies nadat die makro uitgevoer is , gebruik hierdie kode:

    Publiek Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range By Fout Hervat Volgende Stel SourceRange = Application.InputBox( _"Kies 'n reeks:" , "Vee leë rye uit" , _ Application.Selection.Address, Type :=8) Indien nie (SourceRange Is Nothing ) Then Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step - 1 Stel 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 loop wys die makro die volgende invoerblokkie, kies jy die teikenreeks en klik OK:

    In 'n oomblik sal alle leë lyne in die geselekteerde reeks uitgeskakel word en die oorblywendes sal opskuif:

    Makro 2. Verwyder alle leë rye in Excel

    Om alle leë rye op die aktiewe vel te verwyder, bepaal die laaste ry van die gebruikte reeks (d.w.s. die ry wat die laaste sel met data), en gaan dan opwaarts en verwyder die lyne waarvoor CountA nul teruggee:

    Sub DeleteAllEmptyRows() Dim LastRowIndex As Heelgetal Dim RowIndex As Heelgetal 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

    Makro 3. Vee ry uit as sel leeg is

    Met hierdie makro kan jy 'n hele ry uitvee as 'n sel in die gespesifiseerdekolom is leeg.

    Die volgende kode kontroleer kolom A vir spasies. Om rye gebaseer op 'n ander kolom uit te vee, vervang "A" met 'n toepaslike letter.

    Sub DeleteRowIfCellBlank() By Fout Hervat volgende kolomme( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    As 'n Om die waarheid te sê, die makro gebruik die Gaan na spesiale > Blanks -kenmerk, en jy kan dieselfde resultaat bereik deur hierdie stappe met die hand uit te voer.

    Let wel. Die makro verwyder leë rye in die hele blad , so wees asseblief baie versigtig wanneer jy dit gebruik. As 'n voorsorgmaatreël kan dit wys wees om die werkblad te rugsteun voordat jy hierdie makro laat loop.

    Hoe om leë lyne in Excel met VBA te verwyder

    Om leë rye in Excel met 'n makro te skrap, moet jy kan óf die VBA-kode in jou eie werkboek invoeg óf 'n makro uit ons voorbeeldwerkboek laat loop.

    Voeg 'n makro by jou werkboek

    Om 'n makro in jou werkboek in te voeg, voer hierdie stappe uit:

    1. Maak die werkblad oop waar jy leë rye wil uitvee.
    2. Druk Alt + F11 om die Visual Basic-redigeerder oop te maak.
    3. Op die linkerpaneel, regskliek ThisWorkbook , en klik dan Voeg in > Module .
    4. Plak die kode in die Kode-venster.
    5. Druk F5 om die makro te laat loop.

    Vir die gedetailleerde stap-vir-stap-instruksies, sien asseblief Hoe om VBA in Excel in te voeg en te gebruik.

    Laat 'n makro van ons voorbeeldwerkboek uit

    Laai ons voorbeeld afwerkboek met makro's om leë rye uit te vee en een van die volgende makro's van daar af uit te voer:

    DeleteBlankRows - verwyder leë rye in die tans geselekteerde reeks.

    RemoveBlankLines - vee leë rye uit en skuif op in 'n reeks wat jy kies nadat jy die makro laat loop het.

    DeleteAllEmptyRows -vee alle leë reëls op die aktiewe blad uit.

    DeleteRowIfCellBlank - vee 'n ry uit as 'n sel in 'n spesifieke kolom leeg is.

    Om die makro in jou Excel te laat loop, doen die volgende:

    1. Maak die afgelaaide werkboek en aktiveer die makro's indien gevra.
    2. Maak jou eie werkboek oop en gaan na die werkblad van belang.
    3. In jou werkblad, druk Alt + F8, kies die makro, en klik Hardloop .

    Formule om leë rye in Excel uit te vee

    In geval jy wil sien wat jy uitvee, gebruik die volgende formule om leë lyne te identifiseer:

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

    Waar A2 die eerste is en D2 die laaste gebruikte sel van die eerste datary is.

    Voer hierdie formule in a in E2 of enige ander leë kolom in ry 2, en sleep die vulhandvatsel om die formule af te kopieer.

    As gevolg hiervan sal jy "Leë" in leë rye en "Nie leeg" in die rye hê wat ten minste een sel met data bevat:

    Die formule se logika is voor die hand liggend: jy tel nie-leë selle met die COUNTA-funksie en gebruik die IF-stelling om "Blank" vir nultelling terug te gee, "Not Blank" anders .

    Inom die waarheid te sê, jy kan goed doen sonder IF:

    =COUNTA(A2:D2)=0

    In hierdie geval sal die formule WAAR vir leë reëls en ONWAAR vir nie-leë reëls gee.

    Met die formule in plek, voer hierdie stappe uit om leë reëls uit te vee:

    1. Kies enige sel in die kopry en klik Sorteer & Filter > Filter op die Tuis -oortjie, in die Formate Dit sal die filter-aftrekpyle by alle kopselle voeg.
    2. Klik op die pyltjie in die formulekolomopskrif, ontmerk (Selekteer alles), kies Leë en klik OK :
    3. Kies al die gefiltreerde rye . Klik hiervoor op die eerste sel van die eerste gefiltreerde ry en druk Ctrl + Shift + End om die seleksie uit te brei na die laaste sel van die laaste gefiltreerde ry.
    4. Regsklik op die keuse, kies Vee ry uit die kontekskieslys uit, en bevestig dan dat jy werklik hele rye wil uitvee:
    5. Verwyder die filter deur Ctrl + Shift + L te druk. Of klik Tuis -oortjie > Sorteer & Filter > Filter .
    6. Vee die kolom uit met die formule aangesien jy dit nie meer nodig het nie.

    Dit is dit! As gevolg hiervan het ons 'n skoon tabel met geen leë reëls nie, maar al die inligting behoue ​​​​behou:

    Wenk. In plaas daarvan om leë reëls uit te vee, kan jy nie-leë rye na iewers anders kopieer. Om dit te laat doen, filter "Nie leeg nie" rye, kies hulle en druk Ctrl + C om te kopieer. Skakel dan oor nanog 'n vel, kies die boonste linker sel van die bestemmingsreeks en druk Ctrl + V om te plak.

    Hoe om leë lyne in Excel met Power Query te verwyder

    In Excel 2016 en Excel 2019, daar is nog een manier om leë rye uit te vee - deur die Power Query-funksie te gebruik. In Excel 2010 en Excel 2013 kan dit as 'n byvoeging afgelaai word.

    Belangrike nota! Hierdie metode werk met die volgende waarskuwing: Power Query omskep die brondata in 'n Excel-tabel en verander die formatering soos vulkleur, grense en sommige getalformate. As die formatering van jou oorspronklike data vir jou belangrik is, moet jy beter 'n ander manier kies om leë rye in Excel te verwyder.

    1. Kies die reeks waar jy leë reëls wil uitvee.
    2. Gaan na die Data -oortjie > Kry & Transformeer groep en klik Van tabel/reeks . Dit sal jou tabel na die Power Query Editor laai.
    3. Op die Tuis -oortjie van die Power Query Editor, klik Verwyder rye > Verwyder leë rye .
    4. Klik die Sluit & Laai Dit sal die resulterende tabel na 'n nuwe werkblad laai en die navraagredigeerder toemaak.

    In die resultaat van hierdie manipulasies het ek die volgende tabel sonder leë reëls gekry, maar met 'n paar nare veranderinge - die geldeenheidformaat is verlore en die datums word in die verstekformaat vertoon in plaas van die pasgemaakte een:

    Hoe om rye uit te vee assel in 'n sekere kolom is leeg

    In die begin van hierdie tutoriaal het ons jou gewaarsku teen die verwydering van leë reëls deur spasies te kies. Hierdie metode kom egter handig te pas as jy rye wil uitvee op grond van spasies in 'n spesifieke kolom .

    Kom ons verwyder as voorbeeld al die rye waar 'n sel in kolom A leeg is :

    1. Kies die sleutelkolom, kolom A in ons geval.
    2. Op die Tuis -oortjie, klik Vind & Kies > Gaan na spesiale . Of druk F5 en klik die Spesiaal... -knoppie.
    3. In die Gaan na spesiale -dialoog, kies Blanks en klik OK . Dit sal leë selle in die gebruikte reeks in kolom A selekteer.
    4. Klik met die rechtermuisknop op enige geselekteerde sel en kies Vee uit... in die kontekskieslys.
    5. In die Vee uit dialoogkassie, kies Hele ry en klik OK.

    Klaar! Die rye wat nie 'n waarde in kolom A het nie, is nie meer daar nie:

    Dieselfde resultaat kan bereik word deur spasies in die sleutelkolom te filter.

    Hoe om ekstra lyne onder data te verwyder

    Soms kan die rye wat heeltemal leeg lyk, dalk sekere formate of nie-drukbare karakters bevat. Om te kyk of die laaste sel met data werklik die laaste sel in jou werkblad is, druk Ctrl + End . As dit jou na 'n visueel leë ry onder jou data geneem het, in terme van Excel, is daardie ry nie leeg nie. Om sulke rye te verwyder, doen dievolgende:

    1. Klik op die kopskrif van die eerste leë ry onder jou data om dit te kies.
    2. Druk Ctrl + Shift + End . Dit sal al die reëls kies wat enigiets bevat, insluitend formate, spasies en karakters wat nie gedruk word nie.
    3. Regsklik op die keuse en kies Vee uit... > Hele ry.

    As jy 'n relatief klein datastel het, wil jy dalk ontslae raak van alle leë reëls onder jou data, bv. om blaai makliker te maak. Alhoewel daar geen manier is om ongebruikte rye in Excel uit te vee nie, is daar niks wat jou sal verhoed om hulle weg te steek . Dit is hoe:

    1. Kies die ry onder die laaste ry met data deur die opskrif daarvan te klik.
    2. Druk Ctrl + Shift + Afpyltjie om die keuse uit te brei na die laaste ry op die blad .
    3. Druk Ctrl + 9 om die geselekteerde rye te versteek. Of regskliek op die keuse en klik dan Versteek .

    Om die rye te ontsteek , druk Ctrl + A om die hele blad te kies, en druk dan Ctrl + Shift + 9 om al die lyne weer sigbaar te maak.

    Op 'n soortgelyke manier kan jy ongebruikte leë kolomme aan die regterkant van jou data versteek. Vir die gedetailleerde stappe, sien asseblief Versteek ongebruikte rye in Excel sodat slegs werkarea sigbaar is.

    Vinnigste manier om leë rye in Excel te verwyder

    Wanneer jy die vorige voorbeelde lees, nie waar nie voel of ons 'n voorhamer gebruik om 'n neut te kraak? Hier, by Ablebits, verkies ons om nie

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.