Hvernig á að eyða auðum línum í Excel með VBA, formúlum og Power Query

  • Deildu Þessu
Michael Brown

Þessi kennsla mun kenna þér nokkrar einfaldar brellur til að eyða mörgum tómum línum í Excel á öruggan hátt án þess að tapa einum bita af upplýsingum .

Autar raðir í Excel er vandamál sem við stöndum öll frammi fyrir öðru hvoru, sérstaklega þegar gögn frá mismunandi aðilum eru sameinuð eða upplýsingar eru fluttar inn annars staðar frá. Tómar línur geta valdið miklum usla fyrir vinnublöðin þín á mismunandi stigum og að eyða þeim handvirkt getur verið tímafrekt og villuhættulegt ferli. Í þessari grein muntu læra nokkrar einfaldar og áreiðanlegar aðferðir til að fjarlægja eyður í vinnublöðunum þínum.

    Hvernig á EKKI að fjarlægja auðar línur í Excel

    Það eru nokkrar mismunandi leiðir til að eyða tómum línum í Excel, en furðu mörg auðlindir á netinu haldast við þá hættulegustu, nefnilega Finndu & Veldu > Go To Special > Blanks .

    Hvað er að þessari tækni? Það velur allar eyður á bilinu og þar af leiðandi muntu eyða öllum línum sem innihalda eins mikið og eina auða reit.

    Myndin hér að neðan sýnir upprunalegu töfluna til vinstri og taflan sem myndast til hægri. Og í töflunni sem myndast eru allar ófullkomnar línur farnar, jafnvel röð 10 þar sem aðeins dagsetninguna í dálki D vantaði:

    Niðurstaðan: ef þú vilt ekki klúðra gögnunum þínum skaltu aldrei eyða tómum línur með því að velja auðar reiti. Notaðu frekar eina af yfirveguðustu aðferðunum sem ræddar erugera hlutina flóknari en þeir þurfa að vera. Þannig að við tókum skrefinu lengra og bjuggum til tveggja smella leið til að eyða tómum línum í Excel.

    Með Ultimate Suite bætt við borðið þitt, hér er hvernig þú getur eyðað öllum tómum línum í vinnublaði:

    1. Á flipanum Ablebits Tools , í hópnum Transform , smelltu á Delete Blanks > Tómar línur :
    2. Viðbótin mun láta þig vita að allar tómar línur verða fjarlægðar af virka vinnublaðinu og biðja um staðfestingu. Smelltu á OK og eftir augnablik verða allar auðar línur fjarlægðar.

    Eins og sést á skjámyndinni hér að neðan höfum við aðeins fjarlægt algerlega auðar línur sem hafa ekki einn reit með gögnum:

    Til að finna út fleiri frábæra eiginleika sem fylgja Ultimate Suite okkar fyrir Excel, þér er velkomið að hlaða niður prufuútgáfu.

    Ég þakka þér fyrir að lesa og vonast til að sjá þig á blogginu okkar í næstu viku!

    hér að neðan.

    Hvernig á að fjarlægja auðar línur í Excel með VBA

    Excel VBA getur lagað ýmislegt, þar á meðal margar tómar línur. Það besta við þessa nálgun er að hún krefst ekki forritunarkunnáttu. Gríptu einfaldlega einn af neðangreindum kóða og keyrðu hann í Excel (leiðbeiningarnar eru hér).

    Macro 1. Eyða auðum línum á völdu bili

    Þessi VBA kóða eyðir hljóðlaust öllum auðum raðir á völdum sviðum, án þess að sýna notanda skilaboð eða glugga.

    Ólíkt fyrri tækni eyðir fjölvi línu ef öll röðin er tóm . Það byggir á vinnublaðsaðgerðinni CountA til að fá fjölda ótómra refa í hverri línu og eyðir síðan línum með núlltalningu.

    Public Sub DeleteBlankRows() Dim SourceRange As Range Dim EntireRow As Range Set SourceRange = Application. Val ef ekki (SourceRange Is Nothing ) Þá 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

    Til að gefa notandanum tækifæri til að velja marksvið eftir að hafa keyrt fjölvi , notaðu þennan kóða:

    Public Sub RemoveBlankLines() Dim SourceRange As Range Dim EntireRow As Range On Error Resume Next Set SourceRange = Application.InputBox( _"Veldu svið:" , "Eyða tómum línum" , _ Application.Selection.Address, Type :=8) Ef ekki (SourceRange Is Nothing ) Þá Application.ScreenUpdating = False For I = SourceRange.Rows.Count To 1 Step - 1 Setja 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

    Við keyrslu sýnir fjölvi eftirfarandi inntaksreit, þú velur marksviðið og smellir á OK:

    Eftir augnablik verða allar auðar línur á völdu sviði fjarlægðar og þær sem eftir eru færast upp:

    Macro 2. Eyddu öllum auðum línum í Excel

    Til að fjarlægja allar auðar línur á virku blaðinu skaltu ákvarða síðustu línuna í notaða sviðinu (þ.e. röð sem inniheldur síðasta reit með gögnum), og farðu síðan upp og eyðir línunum sem CountA skilar núlli fyrir:

    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 Fyrir 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. Eyða línu ef reit er auðt

    Með þessu fjölvi er hægt að eyða heilri röð ef reit í tilgreindudálkur er auður.

    Eftirfarandi kóði athugar dálk A fyrir autt. Til að eyða línum sem eru byggðar á öðrum dálki, skiptu "A" út fyrir viðeigandi bókstaf.

    Sub DeleteRowIfCellBlank() Við villu Haltu áfram Næstu dálkum( "A" ).SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

    Sem a staðreynd, fjölvi notar Go To Special > Blanks eiginleikann og þú getur náð sömu niðurstöðu með því að framkvæma þessi skref handvirkt.

    Athugið. Fjölvi eyðir auðum línum á allri blaðinu , svo vinsamlegast farðu mjög varlega þegar þú notar það. Til öryggis getur verið skynsamlegt að taka öryggisafrit af vinnublaðinu áður en þetta fjölvi er keyrt.

    Hvernig á að fjarlægja auðar línur í Excel með VBA

    Til að eyða tómum línum í Excel með því að nota fjölva, þú getur annað hvort sett inn VBA kóðann í þína eigin vinnubók eða keyrt fjölvi úr sýnishornsvinnubókinni okkar.

    Bæta fjölvi við vinnubókina þína

    Til að setja inn fjölva í vinnubókina þína skaltu framkvæma þessi skref:

    1. Opnaðu vinnublaðið þar sem þú vilt eyða auðum línum.
    2. Ýttu á Alt + F11 til að opna Visual Basic Editor.
    3. Á vinstri glugganum skaltu hægrismella ThisWorkbook , og smelltu síðan á Insert > Module .
    4. Límdu kóðann í kóðagluggann.
    5. Ýttu á F5 til að keyra fjölvi.

    Fyrir nákvæmar skref-fyrir-skref leiðbeiningar, vinsamlegast sjáðu Hvernig á að setja inn og nota VBA í Excel.

    Keyra fjölvi úr sýnishornsvinnubókinni okkar

    Sæktu sýnishornið okkarvinnubók með fjölvi til að eyða auðum línum og keyra eitt af eftirfarandi fjölvi þaðan:

    DeleteBlankRows - fjarlægir tómar línur á því sviði sem nú er valið.

    RemoveBlankLines - eyðir auðum línum og færist upp á bili sem þú velur eftir að hafa keyrt fjölva.

    DeleteAllEmptyRows - eyðir öllum auðum línum á virka blaðinu.

    DeleteRowIfCellBlank - eyðir línu ef hólf í tilteknum dálki er auð.

    Til að keyra fjölvi í Excel skaltu gera eftirfarandi:

    1. Opnaðu niðurhalaða vinnubók og virkjaðu fjölva ef beðið er um það.
    2. Opnaðu þína eigin vinnubók og flettu að verkefnablaðinu sem þú vilt.
    3. Í vinnublaðinu þínu skaltu ýta á Alt + F8, velja fjölva og smella á Hlaupa .

    Formúla til að eyða auðum línum í Excel

    Ef þú vilt sjá hvað þú ert að eyða skaltu nota eftirfarandi formúlu til að auðkenna tómar línur:

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

    Þar sem A2 er fyrsta og D2 er síðast notaða reitinn í fyrstu gagnalínunni.

    Sláðu inn þessa formúlu a í E2 eða öðrum auðum dálki í röð 2, og dragðu fyllihandfangið til að afrita formúluna niður.

    Þar af leiðandi muntu hafa "Autt" í tómum línum og "Ekki auð" í röðunum sem innihalda að minnsta kosti einn reit með gögnum:

    Rökfræði formúlunnar er augljós: þú telur ótóma reiti með COUNTA fallinu og notar IF setninguna til að skila „Autt“ fyrir núlltalningu, „Ekki tómt“ annars .

    Ístaðreynd, þú getur gert ágætlega án EF:

    =COUNTA(A2:D2)=0

    Í þessu tilviki mun formúlan skila TRUE fyrir auðar línur og FALSE fyrir ekki auðar línur.

    Með formúlan til staðar, framkvæmdu þessi skref til að eyða tómum línum:

    1. Veldu hvaða reit sem er í hauslínunni og smelltu á Raða & Sía > Sía á flipanum Heima , í Snið Þetta mun bæta síunarörvunum við allar hausfrumur.
    2. Smelltu á örina í formúludálkhausnum, taktu hakið af (Veldu allt), veldu Autt og smelltu á Í lagi :
    3. Veldu allar síaðar línur . Til þess skaltu smella á fyrsta reitinn í fyrstu síuðu línunni og ýta á Ctrl + Shift + End til að lengja valið í síðasta reitinn í síðustu síuðu línunni.
    4. Hægri-smelltu á valið, veldu Eyddu línu úr samhengisvalmyndinni og staðfestu síðan að þú viljir virkilega eyða heilum línum:
    5. Fjarlægðu síuna með því að ýta á Ctrl + Shift + L . Eða smelltu á Heima flipann > Raða & Sía > Sía .
    6. Eyddu dálknum með formúlunni þar sem þú þarft hana ekki lengur.

    Það er það! Fyrir vikið höfum við hreina töflu með engum auðum línum, en allar upplýsingar varðveittar:

    Ábending. Í stað þess að eyða auðum línum, geturðu afritað ótómar línur eitthvað annað. Til að gera það skaltu sía „Ekki auðar“ línur, velja þær og ýta á Ctrl + C til að afrita. Skiptu síðan yfir íannað blað, veldu efri-vinstra reitinn á áfangastaðnum og ýttu á Ctrl + V til að líma.

    Hvernig á að fjarlægja tómar línur í Excel með Power Query

    Í Excel 2016 og Excel 2019, það er enn ein leiðin til að eyða tómum línum - með því að nota Power Query eiginleikann. Í Excel 2010 og Excel 2013 er hægt að hlaða því niður sem viðbót.

    Mikilvægt athugið! Þessi aðferð virkar með eftirfarandi fyrirvara: Power Query breytir upprunagögnum í Excel töflu og breytir sniði eins og fyllingarlit, ramma og sumum tölusniðum. Ef snið upprunalegu gagna er mikilvægt fyrir þig, þá ættirðu að velja aðra leið til að fjarlægja auðar línur í Excel.

    1. Veldu svið þar sem þú vilt eyða tómum línum.
    2. Farðu í flipann Gögn > Fáðu & Breyttu hópnum og smelltu á From Table/Range . Þetta mun hlaða töflunni þinni í Power Query Editor.
    3. Á flipanum Heima í Power Query Editor, smelltu á Fjarlægja línur > Fjarlægja tómar línur .
    4. Smelltu á Loka & Hlaða Þetta mun hlaða töflunni sem myndast á nýtt vinnublað og loka fyrirspurnarritlinum.

    Í niðurstöðu þessarar meðhöndlunar fékk ég eftirfarandi töflu án tómra lína, en með nokkrum viðbjóðslegum breytingum - gjaldmiðilssniðið glatast og dagsetningarnar birtast á sjálfgefnu sniði í stað sérsniðins:

    Hvernig á að eyða línum efklefi í ákveðnum dálki er auður

    Í upphafi þessa kennsluefnis vöruðum við þig við því að fjarlægja auðar línur með því að velja auðar. Hins vegar kemur þessi aðferð að góðum notum ef þú vilt eyða línum sem byggja á eyðum í tilteknum dálki .

    Sem dæmi skulum við fjarlægja allar línurnar þar sem reit í dálki A er tómt :

    1. Veldu lykildálkinn, dálk A í okkar tilviki.
    2. Á flipanum Heima smellirðu á Finndu & Veldu > Go To Special . Eða ýttu á F5 og smelltu á Special... hnappinn.
    3. Í Go To Special glugganum, veldu Blanks og smelltu á OK . Þetta mun velja auðar reiti á notaðu sviðinu í dálki A.
    4. Hægri-smelltu á valinn reit og veldu Eyða... í samhengisvalmyndinni.
    5. Í Eyða valmyndinni skaltu velja Alla röðina og smella á OK.

    Lokið! Þær raðir sem ekki hafa gildi í dálki A eru ekki lengur til staðar:

    Sama niðurstöðu er hægt að ná með því að sía eyðurnar í lykildálknum.

    Hvernig á að fjarlægja aukalínur fyrir neðan gögn

    Stundum geta línurnar sem líta út fyrir að vera alveg auðar í raun innihaldið einhver snið eða stafi sem ekki er hægt að prenta. Til að athuga hvort síðasta hólfið með gögnum sé í raun og veru síðasti reiturinn í vinnublaðinu þínu, ýttu á Ctrl + End . Ef þetta hefur fært þig í sjónrænt tóma röð fyrir neðan gögnin þín, hvað varðar Excel, er sú röð ekki auð. Til að fjarlægja slíkar línur skaltu geraeftirfarandi:

    1. Smelltu á haus fyrstu auðu línunnar fyrir neðan gögnin þín til að velja þau.
    2. Ýttu á Ctrl + Shift + End . Þetta mun velja allar línur sem innihalda eitthvað, þar á meðal snið, bil og stafi sem ekki eru prentaðir.
    3. Hægri-smelltu á valið og veldu Eyða... > Alla röðina.

    Ef þú ert með tiltölulega lítið gagnasett gætirðu viljað losna við allar auðar línur fyrir neðan gögnin þín, t.d. til að auðvelda flettu. Þó að það sé engin leið til að eyða ónotuðum línum í Excel, þá er ekkert sem myndi koma í veg fyrir að þú feli þær. Svona er það:

    1. Veldu línuna fyrir neðan síðustu línuna með gögnum með því að smella á haus hennar.
    2. Ýttu á Ctrl + Shift + ör niður til að lengja valið í síðustu línuna á blaðinu .
    3. Ýttu á Ctrl + 9 til að fela valdar línur. Eða hægrismelltu á valið og smelltu síðan á Fela .

    Til að opna línurnar , ýttu á Ctrl + A til að velja allt blaðið og ýttu svo á Ctrl + Shift + 9 til að gera allar línur sýnilegar aftur.

    Á svipaðan hátt geturðu falið ónotaða auða dálka hægra megin við gögnin þín. Fyrir ítarleg skref, vinsamlegast sjá Fela ónotaðar línur í Excel þannig að aðeins vinnusvæði sé sýnilegt.

    Fljótlegasta leiðin til að fjarlægja tómar línur í Excel

    Þegar þú lest fyrri dæmi, var það ekki finnst eins og við værum að nota sleggju til að brjóta hnetu? Hér, hjá Ablebits, viljum við helst ekki

    Michael Brown er hollur tækniáhugamaður með ástríðu fyrir því að einfalda flókna ferla með hugbúnaðarverkfærum. Með meira en áratug af reynslu í tækniiðnaðinum hefur hann aukið færni sína í Microsoft Excel og Outlook, sem og Google Sheets og Docs. Blogg Michael er tileinkað því að deila þekkingu sinni og sérfræðiþekkingu með öðrum, veita auðveld ráð og leiðbeiningar til að bæta framleiðni og skilvirkni. Hvort sem þú ert vanur fagmaður eða byrjandi, þá býður blogg Michaels upp á dýrmæta innsýn og hagnýt ráð til að fá sem mest út úr þessum nauðsynlegu hugbúnaðarverkfærum.