Ugrás a tartalomra

Hogyan lehet eltávolítani a sorokat az Excel cellaértéke alapján?

Több sor gyors törléséhez vagy eltávolításához az Excel cellasejtje alapján előfordulhat, hogy először ki kell választania azokat a teljes sorokat, amelyek tartalmazzák a cellák értékét, majd el kell távolítani őket. Úgy tűnik, hogy nincs gyors mód a sorok törlésére a cellák értéke alapján, de VBA kód használatával. Íme néhány gyors trükk a segítségedre.


Távolítsa el a sorokat a cellaérték alapján a Keresés és csere funkcióval

Az Excel alkalmazásban alkalmazhatja a hatékony Keresés és csere funkciót a sorok egyszerű eltávolításához egy adott cellaérték alapján. Kérjük, tegye a következőket:

1. Válassza ki azt a tartományt, ahonnan bizonyos cellák értéke alapján eltávolítja a sorokat, majd a és megnyomásával nyissa meg a Keresés és csere párbeszédpanelt Ctrl + F gombokat egyszerre.

2. A Keresés és csere párbeszédpanelen írja be a cella bizonyos értékét (esetünkben a meleg) ba,-be Find what mezőbe, és kattintson a Find All gomb. Lásd az alábbi első képernyőképet:

3. Jelölje ki az összes keresési eredményt a Keresés és csere párbeszédpanel alján, majd zárja be ezt a párbeszédpanelt. (Megjegyzések: Kiválaszthatja az egyik keresési eredményt, majd Ctrl + A gombokat az összes talált találat kiválasztásához. Lásd a fenti második képernyőképet.)
És akkor láthatja, hogy az összes cella ki van választva, amely tartalmazza a bizonyos értéket.

4. Jobb egérgombbal kattintson a kijelölt cellákra, és válassza ki a Delete a jobb egérgombbal kattintva. És akkor ellenőrizze a Entire row lehetőséget a felbukkanó Törlés párbeszédpanelen, és kattintson a gombra OK gomb. Most látni fogja, hogy az összes cella eltávolítja a bizonyos értéket. Lásd az alábbi képernyőképeket:

És akkor a teljes sorokat már törölték a bizonyos érték alapján.


Távolítsa el a sorokat a VBA kóddal ellátott cellaérték alapján

A következő VBA-kóddal gyorsan törölheti a sorokat bizonyos cellaértékkel, tegye a következőket:

1. megnyomni a Alt + F11 gombokat egyidejűleg a megnyitáshoz Microsoft Visual Basic for applications ablak,

2. Kattints Insert > Module, és írja be a következő kódot a modulba:

VBA: Távolítsa el a teljes sorokat a cella értéke alapján

Sub DeleteRows()
'Updateby20211217
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
Dim xTitleId As String
Dim xArr
Dim xF As Integer
Dim xWSh As Worksheet
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set rng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, rng.Address, Type:=8)
If InputRng Is Nothing Then Exit Sub
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
Set xWSh = InputRng.Worksheet
For Each rng In InputRng
    If rng.Value = DeleteStr Then
        If DeleteRng Is Nothing Then
            Set DeleteRng = rng
        Else
            Set DeleteRng = Application.Union(DeleteRng, rng)
            Set DeleteRng = DeleteRng.EntireRow
        End If
    End If
Next
xArr = Split(DeleteRng.AddressLocal, ",")
DeleteRng.Select
DeleteRng.Delete
For xF = UBound(xArr) To 0 Step -1
    Set DeleteRng = xWSh.Range(xArr(xF))
    DeleteRng.Delete
Next
End Sub

3. Ezután kattintson a Run gombot a kód futtatásához.

4. A felbukkanó párbeszédpanelen válassza ki azt a tartományt, ahonnan a sorokat eltávolítja az adott érték alapján, majd kattintson a gombra OK gombot.

5. Egy másik párbeszédpanelen írja be azt a bizonyos értéket, amely alapján eltávolítja a sorokat, és kattintson a gombra OK gomb. Lásd a képernyőképet:

És akkor látni fogja, hogy a teljes sorokat már törölték a megadott érték alapján.


Távolítsa el a sorokat egy vagy két cellaérték alapján a Kutools for Excel segítségével

Ha telepítve van Kutools for Excel, annak Select Specific Cells funkció segítségével gyorsan törölheti a meghatározott értékű sorokat. Kérjük, tegye a következőket:

Kutools az Excel számára - Töltse fel az Excelt több mint 300 alapvető eszközzel. Élvezze a teljes funkcionalitású 30 napos INGYENES próbaverziót hitelkártya nélkül! Szerezd meg most

1. Válassza ki azt a tartományt, amelyből a sorokat eltávolítja az adott érték alapján, majd kattintson a gombra Kutools > Select > Select Specific Cells. Lásd a képernyőképet:

2. A Megnyílt cellák kiválasztása párbeszédpanelen ellenőrizze Entire row válasszuk a lehetőséget Contains ból ből Specific type legördülő listából írja be a megadott értéket a jobb mezőbe, majd kattintson a gombra Ok gombra (lásd a fenti képernyőképet).
A szolgáltatás alkalmazása után megjelenik egy párbeszédpanel, amely megmutatja, hogy hány cellát találtak a megadott kritériumok alapján. Kattintson a gombra OK gombot a bezárásához.

3. Most teljes sorok vannak kijelölve a bizonyos értékkel. Kattintson a jobb gombbal a kijelölt sorokra, majd kattintson a gombra Delete a jobb egérgombbal kattintva. Lásd az alábbi képernyőképet:

Megjegyzések: Ez az Select Specific Cells A funkció támogatja a sorok törlését egy vagy két bizonyos értékkel. Két megadott érték alapján történő sorok törléséhez adjon meg egy másik értéket a Specific type A Speciális cellák kiválasztása párbeszédpanel szakasza az alábbi képernyőkép szerint:

Kutools az Excel számára - Töltse fel az Excelt több mint 300 alapvető eszközzel. Élvezze a teljes funkcionalitású 30 napos INGYENES próbaverziót hitelkártya nélkül! Szerezd meg most


Távolítsa el a sorokat több cellaérték alapján a Kutools for Excel segítségével

Bizonyos esetekben előfordulhat, hogy el kell távolítania a sorokat több cellaérték alapján az Excel másik oszlopából / listájából. Itt bemutatom Kutools for Excel's Select Same & Different Cells funkcióval könnyedén és gyorsan megoldható.

Kutools az Excel számára - Töltse fel az Excelt több mint 300 alapvető eszközzel. Élvezze a teljes funkcionalitású 30 napos INGYENES próbaverziót hitelkártya nélkül! Szerezd meg most

1. Kattints Kutools > Select > Select Same & Different Cells az azonos és különböző cellák kiválasztása párbeszédpanel megnyitásához.

2. A megnyitón Select Same & Different Cells párbeszédpanelt, kérjük, tegye a következőket (lásd a képernyőképet):

(1) A Find values in mezőbe, válassza ki azt az oszlopot, ahol megtalálja a bizonyos értékeket;
(2) A According to mezőbe, kérjük, válassza ki azt az oszlopot / listát, amely több értéket tartalmaz, és amelyek alapján sorokat töröl;
(3) A Based on szakaszban, kérjük, ellenőrizze a Each row választási lehetőség;
(4) A Find szakaszban, kérjük, ellenőrizze a Same Values választási lehetőség;
(5) Ellenőrizze a Select entire rows opciót a megnyitás párbeszédpanel alján.
Megjegyzések: Ha két megadott oszlop ugyanazt a fejlécet tartalmazza, ellenőrizze a My data has headers opciót.

3. Kattintson az Ok gombra a segédprogram alkalmazásához. Ezután megjelenik egy párbeszédpanel, amely megmutatja, hogy hány sor van kijelölve. Csak kattintson a gombra OK gombot a bezárásához.

Ezután kiválasztották az összes sort, amely a megadott lista között tartalmaz értékeket.

4. Kattints Home > Delete > Delete Sheet Rows az összes kijelölt sor törléséhez.


Bemutató: sorok eltávolítása az Excel egy vagy több cellaértéke alapján


Kutools az Excel számára: Több mint 300 praktikus eszköz a keze ügyében! Kezdje el a 30 napos ingyenes próbaidőszakot funkciók korlátozása nélkül. Töltse le most!

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
Comments (39)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
In given range, if any cell contains defined text the entire row gets deleted.

Pls share code
This comment was minimized by the moderator on the site
Hi Yogesh,
On this webpage, the second method is to delete rows by cell values with VBA code. You can go to there and copy the code directly!
https://www.extendoffice.com/documents/excel/815-excel-remove-rows-based-on-cell-value.html#vba
This comment was minimized by the moderator on the site
There are two issues with the code posted as of this date. 1) the variable xTitleId is not declared, which causes a compilation error if Option Explicit is in use. 2) With Excel 2016, it appears that a range is limited to 129 areas. Each discontiguous matching cell found in the loop creates another area in the DeleteRng variable. Unfortunately, the Union method does not raise an error if that number of areas is exceeded; it just ignores the remaining cells. When the loop is finished, DeleteRng will have no more than 129 areas.
This comment was minimized by the moderator on the site
Hi TomTheToolman,
Thank you so much for your feedback. I've already updated the new code in the article. If you have any other questions, please don't hesitate to let me know.
Amanda
This comment was minimized by the moderator on the site
very well. Thank you!
This comment was minimized by the moderator on the site
Can someone help me...If 3rd column has value 0, then delete all values of corresponding column 1st. In this case answer should be the last line only.... Check MenuName ID 3149 VNLA MILFLLE 2 3149 TURKEY PNN 0 3149 R. BEEF PNN 0 3149 MIX MOCHA 38 3150 M.G.R 1/2 0 3150 THE PEPPE L 0 3150 MIX SLD 0 3150 EGGPLANT 0 3150 STILL WATER 7 3151 MIX MOCHA 38
This comment was minimized by the moderator on the site
Thanks for sharing. I am actually looking for a code that doesn't ask user for range but instead selects a specific column say column "A" and runs till the last row of that column. Can you please help..
This comment was minimized by the moderator on the site
Hi everybody, I am wondering what can we do to delete the following (According to the example shown in this page): Soe appears at several date (sept, October... etc). What I would like is to delete the line where Soe is but to keep the line with last date she appeared. In addition, some lines could be in double but I still want to keep it. So for example, you have the lines: - July 3 /Soe - Sep 4 / Soe - Sep 4 / Soe - Oct 19/ Soe - Nov 13 / Soe - Nov 13 / Soe and what I want to keep is: - Nov 13 / Soe - Nov 13 / Soe My real case is: I have different EAN code and version 1, 2, 3 or 4 and I want to keep the line where the version is the higher. e.g.: I have: - EAN 1 / Version 1 - EAN 1 / Version 1 - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 and I want to keep: - EAN 1 / Version 2 - EAN 1 / Version 2 - EAN 2 / Version 3 - EAN 2 / Version 3 I am searching since hours and I am completely blocked on this issue. Many thanks in advance for your brain and help. Best, Marion
This comment was minimized by the moderator on the site
Hi, Thank you this was really helpful. However, there's an error that pops up when I run the codes it says "Object variable or with block variable not set" and it points to " the line DeleteRNG.EntireRow.Delete". Could you please help me with debugging this. Thanks.
This comment was minimized by the moderator on the site
I am trying to use this macro in order to delete unused formulas, because excel views blank formula cells as a zero value and will print extra pages. I was hoping when I deleted the unused formulas, when I printed it would only print the pages that had information. This is not the case and I really need help to find a solution. I have tried using this formula and it is not working and prints three extra pages that I do not need even with the extra formulas being deleted. Sub selectonly() ' ' selectonly Macro ' Range("A1").Select Range(Selection, Selection.End(xlToRight)).Select Range(Selection, Selection.End(xlDown)).Select ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)" End Sub
This comment was minimized by the moderator on the site
thank you so much. That save me a lot of time
This comment was minimized by the moderator on the site
Trying to find a delete Function that will delete entire designated rows automatically, based on certain values or certain text contained in other cell(s), using only automated formulas.
This comment was minimized by the moderator on the site
How can i delete selected cell that i want based on value that i entered for example : A1 B1 C1 D1 A2 B2 C2 D2 A3 B3 C3 D3 A4 B4 C4 D4 When i entered in some cell for example "2" then 2 row will be deleted from A3:D4. If i entered "1" then 1 row will be deleted from A4:D4. if i entered "3" then 3 row will be deleted from A2:D4
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations