Hogyan törölhet üres sorokat az Excelben a VBA, a képletek és a Power Query segítségével?

  • Ossza Meg Ezt
Michael Brown

Ez a bemutató megtanít néhány egyszerű trükköt, amellyel biztonságosan törölhet több üres sort az Excelben anélkül, hogy elveszítené az információkat. .

Az üres sorok az Excelben olyan probléma, amellyel mindannyian szembesülünk egyszer-egyszer, különösen akkor, ha különböző forrásokból származó adatokat kombinálunk vagy máshonnan importálunk információkat. Az üres sorok sok pusztítást okozhatnak a munkalapokon különböző szinteken, és kézzel történő törlésük időigényes és hibakényes folyamat lehet. Ebben a cikkben megtanulhat néhány egyszerű és megbízható módszert az üres sorok eltávolítására az alábbiakban.a munkalapok.

    Hogyan NEM lehet eltávolítani az üres sorokat az Excelben

    Az üres sorok törlésének többféle módja van az Excelben, de meglepően sok online forrás a legveszélyesebbet használja, nevezetesen a következőt Keresés & kiválasztás > Go To Special > Vaktöltények .

    Mi a baj ezzel a technikával? minden üres egy tartományban, és ennek következtében az összes olyan sort törölni fogja, amely akár egyetlen üres cellát is tartalmaz.

    Az alábbi képen balra az eredeti táblázat, jobbra pedig az eredményül kapott táblázat látható. Az eredményül kapott táblázatban az összes hiányos sor eltűnt, még a 10. sor is, ahol csak a dátum hiányzik a D oszlopból:

    A lényeg: ha nem akarja elrontani az adatait, soha ne törölje az üres sorokat üres cellák kijelölésével. Ehelyett használja az alábbiakban tárgyalt megfontoltabb megközelítések egyikét.

    Hogyan lehet eltávolítani az üres sorokat az Excelben a VBA-val?

    Az Excel VBA sok mindent meg tud oldani, beleértve a többszörös üres sorokat is. A legjobb dolog ebben a megközelítésben az, hogy nem igényel semmilyen programozási készséget. Egyszerűen ragadja meg az alábbi kódok egyikét, és futtassa az Excelben (az utasítások itt találhatók).

    Makró 1. Üres sorok törlése egy kijelölt tartományban

    Ez a VBA-kód csendben törli az összes üres sort egy kijelölt tartományban, anélkül, hogy bármilyen üzenetet vagy párbeszédpanelt jelenítene meg a felhasználónak.

    Az előző technikával ellentétben a makró törli a sort, ha a az egész sor üres Az egyes sorokban lévő nem üres cellák számának kiszámításához a CountA munkalap függvényre támaszkodik, majd törli a nulla számmal rendelkező sorokat.

    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 = SourceRrange.Rows.Count To 1 Step -1 Set EntireRow = SourceRrange.Cells(I, 1).EntireRow If Application.WorksheetFunction.CountA(EntireRow) = 0 Then EntireRow.Delete End If Next Application.ScreenUpdating= True End If End Sub

    Lehetőséget adni a felhasználónak arra, hogy a makró futtatása után válassza ki a céltartományt , használja ezt a kódot:

    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 Sub

    A makró futtatásakor a következő beviteli mező jelenik meg, válassza ki a céltartományt, majd kattintson az OK gombra:

    Egy pillanat múlva a kiválasztott tartományban lévő összes üres sor eltűnik, és a megmaradtak felfelé tolódnak:

    Makró 2. Az összes üres sor törlése az Excelben

    Eltávolítani minden üres sor a aktív lap , meghatározza a használt tartomány utolsó sorát (azaz az utolsó adatot tartalmazó cellát tartalmazó sort), majd felfelé haladva törli azokat a sorokat, amelyekre a CountA nulla értéket ad vissza:

    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

    Makró 3. Sor törlése, ha a cella üres

    Ezzel a makróval törölhet egy teljes sort, ha a megadott oszlopban egy cella üres.

    A következő kód az A oszlopot ellenőrzi üresekre. Ha más oszlopon alapuló sorokat szeretne törölni, az "A"-t helyettesítse egy megfelelő betűvel.

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

    Valójában a makró a Go To Special > Vaktöltények funkciót, és ugyanazt az eredményt elérheti, ha manuálisan végzi el ezeket a lépéseket.

    Megjegyzés. A makró törli az üres sorokat a teljes lap Ezért kérjük, legyen nagyon óvatos a használatakor. Elővigyázatosságból érdemes biztonsági másolatot készíteni a munkalapról, mielőtt lefuttatná ezt a makrót.

    Hogyan lehet eltávolítani az üres sorokat az Excelben a VBA-val?

    Az üres sorok törléséhez az Excelben egy makró segítségével vagy beillesztheti a VBA-kódot a saját munkafüzetébe, vagy futtathat egy makrót a mintamunkafüzetünkből.

    Makró hozzáadása a munkafüzethez

    Makró beillesztéséhez a következő lépéseket kell végrehajtani:

    1. Nyissa meg azt a munkalapot, ahol az üres sorokat törölni szeretné.
    2. Nyomja meg az Alt + F11 billentyűkombinációt a Visual Basic szerkesztő megnyitásához.
    3. A bal oldali ablaktáblán kattintson a jobb gombbal a ThisWorkbook , majd kattintson a Beillesztés > Modul .
    4. Illessze be a kódot a Kód ablakba.
    5. Nyomja meg az F5 billentyűt a makró futtatásához.

    A részletes, lépésről-lépésre történő útmutatásokat lásd: Hogyan illesszük be és használjuk a VBA-t az Excelben.

    Futtasson egy makrót a mintamunkafüzetünkből

    Töltse le az üres sorok törlésére szolgáló makrókat tartalmazó mintamunkafüzetünket, és futtassa az alábbi makrók egyikét:

    DeleteBlankRows - eltávolítja az üres sorokat az aktuálisan kiválasztott tartományban.

    RemoveBlankLines - törli az üres sorokat és eltolja a makró futtatása után kiválasztott tartományban.

    DeleteAllEmptyRows - törli az összes üres sort az aktív lapon.

    DeleteRowIfCellBlank - törli a sort, ha egy adott oszlopban egy cella üres.

    A makró futtatásához az Excelben a következőket kell tennie:

    1. Nyissa meg a letöltött munkafüzetet, és ha kéri, engedélyezze a makrókat.
    2. Nyissa meg a saját munkafüzetét, és navigáljon a kívánt munkalapra.
    3. A munkalapon nyomja meg az Alt + F8 billentyűkombinációt, jelölje ki a makrót, és kattintson a Fuss .

    Képlet az üres sorok törléséhez az Excelben

    Ha látni szeretné, hogy mit töröl, a következő képlet segítségével azonosíthatja az üres sorokat:

    =IF(COUNTA(A2:D2)=0, "Üres", "Nem üres")

    Ahol A2 az első és D2 az első adatsor utolsó használt cellája.

    Írja be ezt a képletet a 2. sor E2 vagy bármely más üres oszlopába, és húzza a kitöltési fogantyút a képlet lefelé másolásához.

    Ennek eredményeképpen az üres sorokban "Üres", a legalább egy adatot tartalmazó sorokban pedig "Nem üres" lesz:

    A képlet logikája nyilvánvaló: a COUNTA függvénnyel megszámolja a nem üres cellákat, és az IF utasítással nullás szám esetén "Üres", egyébként "Nem üres" értéket ad vissza.

    Valójában az IF nélkül is szépen meg lehet csinálni:

    =COUNTA(A2:D2)=0

    Ebben az esetben a képlet TRUE-t ad vissza üres sorok esetén és FALSE-t nem üres sorok esetén.

    Ha a képlet a helyén van, az alábbi lépésekkel törölje az üres sorokat:

    1. Jelölje ki a fejléc sor bármelyik celláját, és kattintson a Rendezés és szűrés > Szűrő a Home lapon, a Formátumok Ezáltal a szűrő legördülő nyilak az összes fejléccellához hozzáadódnak.
    2. Kattintson a nyílra a képlet oszlop fejlécében, törölje a jelölőnégyzetet (Mindenki kijelölése), válassza ki a Üres és kattintson OK :
    3. Jelölje ki az összes szűrt sort. Ehhez kattintson az első szűrt sor első cellájára, és a Ctrl + Shift + End billentyűkombinációval terjessze ki a kijelölést az utolsó szűrt sor utolsó cellájáig.
    4. Kattintson a jobb gombbal a kijelölésre, válassza a Sor törlése a kontextusmenüből, majd erősítse meg, hogy valóban teljes sorokat szeretne törölni:
    5. Távolítsa el a szűrőt a Ctrl + Shift + L billentyűkombinációval . Vagy kattintson a Home tab> Rendezés és szűrés > Szűrő .
    6. Törölje a képletet tartalmazó oszlopot, mivel már nincs rá szüksége.

    Ennyi! Az eredmény egy tiszta táblázat, üres sorok nélkül, de az összes információ megmarad:

    Tipp. Az üres sorok törlése helyett a következő módon is törölhet nem üres sorok másolása máshová. Ha ezt szeretné elvégeztetni, szűrje ki a "Nem üres" sorokat, jelölje ki őket, és nyomja meg a Ctrl + C billentyűkombinációt a másoláshoz. Ezután váltson át egy másik lapra, jelölje ki a céltartomány bal felső celláját, és nyomja meg a Ctrl + V billentyűkombinációt a beillesztéshez.

    Hogyan lehet eltávolítani az üres sorokat az Excelben a Power Query segítségével?

    Az Excel 2016-ban és az Excel 2019-ben még egy módja van az üres sorok törlésének - a Power Query funkció használatával. Az Excel 2010-ben és az Excel 2013-ban ez a funkció bővítményként letölthető.

    Fontos megjegyzés! Ez a módszer a következő fenntartással működik: a Power Query a forrásadatokat Excel-táblává alakítja át, és megváltoztatja a formázást, például a kitöltési színt, a kereteket és néhány számformátumot. Ha az eredeti adatok formázása fontos az Ön számára, akkor jobb, ha más módszert választ az üres sorok eltávolítására az Excelben.

    1. Jelölje ki azt a tartományt, ahol az üres sorokat törölni kívánja.
    2. Menjen a Adatok tab> Get & Transform csoport és kattintson a A táblázatból/tartományból Ez betölti a táblázatot a Power Query Editorba.
    3. A Home lapon a Power Query Editor, kattintson a Sorok eltávolítása > Üres sorok eltávolítása .
    4. Kattintson a Bezárás & Load Ezzel a kapott táblázatot egy új munkalapra tölti be, és bezárja a lekérdezésszerkesztőt.

    A manipulációk eredményeként a következő táblázatot kaptam üres sorok nélkül, de néhány kellemetlen változással - a pénznem formátum elveszett, és a dátumok az alapértelmezett formátumban jelennek meg az egyéni helyett:

    Hogyan törölhetünk sorokat, ha egy bizonyos oszlopban lévő cella üres

    A bemutató elején figyelmeztettük, hogy az üres sorokat nem szabad üres sorok kijelölésével eltávolítani. Ez a módszer azonban jól jön, ha a sorok törlését az alábbiak alapján szeretnénk elvégezni üres helyek egy adott oszlopban .

    Példaként távolítsuk el az összes olyan sort, ahol az A oszlopban lévő cella üres:

    1. Válassza ki a kulcsoszlopot, esetünkben az A oszlopot.
    2. A Home fülre, kattintson a Keresés & kiválasztás > Go To Special Vagy nyomja meg az F5 billentyűt, és kattintson a Különleges... gomb.
    3. A Go To Special párbeszédpanelen válassza a Vaktöltények és kattintson OK Ez az A oszlopban lévő használt tartományban lévő üres cellákat választja ki.
    4. Kattintson a jobb gombbal bármelyik kijelölt cellára, és válassza a Törölje... a kontextusmenüből.
    5. A Törölje a címet. párbeszédpanelen válassza a Teljes sor és kattintson az OK gombra.

    Kész! Azok a sorok, amelyeknek nincs értéke az A oszlopban, már nem szerepelnek:

    Ugyanez az eredmény érhető el a kulcsoszlopban lévő üres részek szűrésével.

    Hogyan lehet eltávolítani az adatok alatti extra sorokat

    Néha előfordulhat, hogy a teljesen üresnek tűnő sorok valójában formátumokat vagy nem nyomtatható karaktereket tartalmaznak. Ha ellenőrizni szeretné, hogy az utolsó adatot tartalmazó cella valóban az utolsó használt cella-e a munkalapon, nyomja meg a Ctrl + End billentyűkombinációt . Ha ez egy vizuálisan üres sorhoz vezetett az adatok alatt, az Excel szempontjából ez a sor nem üres. Az ilyen sorok eltávolításához tegye a következőket:

    1. Kattintson az adatok alatti első üres sor fejlécére az adatok kiválasztásához.
    2. Nyomja meg a Ctrl + Shift + End billentyűkombinációt. Ezzel kijelöl minden olyan sort, amely bármit tartalmaz, beleértve a formátumokat, szóközöket és nem nyomtatott karaktereket.
    3. Kattintson a jobb gombbal a kijelölésre, és válassza a Törölje... > Teljes sor.

    Ha viszonylag kis adatkészlettel rendelkezik, előfordulhat, hogy meg akar szabadulni az adatok alatti üres soroktól, például a görgetés megkönnyítése érdekében. Bár az Excelben nincs mód a fel nem használt sorok törlésére, semmi sem akadályozza meg, hogy rejtőzködő A következő a módja:

    1. Válassza ki az utolsó adatsor alatti sort a fejlécére kattintva.
    2. Nyomja meg a Ctrl + Shift + Le nyíl billentyűkombinációt a kijelölés kiterjesztéséhez a lap utolsó sorára.
    3. Nyomja meg a Ctrl + 9 billentyűkombinációt a kijelölt sorok elrejtéséhez. Vagy kattintson a jobb gombbal a kijelölésre, majd kattintson a Rejtsd el .

    A címre. a sorok elrejtésének feloldása , nyomja meg a Ctrl + A billentyűkombinációt a teljes lap kijelöléséhez, majd nyomja meg a Ctrl + Shift + 9 billentyűkombinációt, hogy az összes sor ismét láthatóvá váljon.

    Hasonló módon elrejtheti a nem használt üres oszlopokat az adatoktól jobbra. A részletes lépéseket lásd: A nem használt sorok elrejtése az Excelben, hogy csak a munkaterület legyen látható.

    A leggyorsabb módja az üres sorok eltávolításának az Excelben

    Az előző példákat olvasva nem volt olyan érzésünk, mintha egy kalapáccsal törnénk fel egy diót? Mi itt az Ablebitsnél nem szeretjük a dolgokat a kelleténél bonyolultabbá tenni. Ezért egy lépéssel tovább léptünk, és létrehoztunk egy két kattintásos útvonalat az üres sorok törlésére az Excelben.

    Ha az Ultimate Suite-ot hozzáadta a szalagjához, a következőket teheti meg törli az összes üres sort egy munkalapon:

    1. A Ablebits eszközök lapon, a Átalakítás csoport, kattintson a Üres betűk törlése > Üres sorok :
    2. A bővítmény tájékoztatja Önt, hogy az összes üres sort el fogja távolítani az aktív munkalapról, és kéri a megerősítést. Kattintson az OK gombra, és egy pillanat múlva az összes üres sor eltűnik.

    Amint az alábbi képernyőképen látható, csak az alábbiakat távolítottuk el teljesen üres sorok amelyekben egyetlen cellában sincs adat:

    Az Ultimate Suite for Excel programcsomagunkban található további fantasztikus funkciók megismeréséhez szívesen letölthet egy próbaverziót.

    Köszönöm, hogy elolvastátok, és remélem, jövő héten találkozunk a blogon!

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.