Salt la conținutul principal

Cum se elimină rândurile pe baza valorii celulei din Excel?

Pentru a șterge sau a elimina rapid mai multe rânduri pe baza valorii celulei din Excel, poate fi necesar să selectați mai întâi acele rânduri întregi care conțin o anumită valoare a celulei, apoi să mergeți pentru a le elimina. Se pare că nu există o modalitate rapidă de a șterge rânduri pe baza valorii celulei, dar folosind codul VBA. Iată câteva trucuri rapide pentru a vă ajuta.


Eliminați rândurile pe baza valorii celulei cu funcția Găsiți și înlocuiți

În Excel, puteți aplica funcția puternică Găsiți și înlocuiți pentru a elimina cu ușurință rândurile pe baza unei anumite valori a celulei. Vă rugăm să faceți următoarele:

1. Selectați intervalul în care veți elimina rândurile pe baza anumitor valori ale celulei și deschideți caseta de dialog Găsiți și înlocuiți apăsând pe Ctrl + F tastele simultan.

2. În caseta de dialog Găsiți și înlocuiți, introduceți valoarea anumită celulă (în cazul nostru, vom introduce Soe) în Find what și faceți clic pe butonul Find All buton. Vedeți prima captură de ecran de mai jos:

3. Selectați toate rezultatele căutării în partea de jos a casetei de dialog Găsiți și înlocuiți și închideți această casetă de dialog. (notițe: Puteți selecta unul dintre rezultatele căutării și apoi Ctrl + A tastele pentru a selecta toate rezultatele găsite. Vedeți a doua captură de ecran de mai sus.)
Și apoi puteți vedea toate celulele care conțin o anumită valoare sunt selectate.

4. Continuați să faceți clic dreapta pe celulele selectate și selectați Delete din meniul cu clic dreapta. Și apoi verificați Entire row din caseta de dialog Ștergere și faceți clic pe OK buton. Acum veți vedea că toate celulele care conțin o anumită valoare sunt eliminate. Vedeți capturile de ecran de mai jos:

Și apoi rândurile întregi au fost șterse pe baza anumitor valori deja.


Eliminați rândurile pe baza valorii celulei cu codul VBA

Cu următorul cod VBA, puteți șterge rapid rândurile cu o anumită valoare a celulei, efectuați următorii pași:

1. apasă pe Alt + F11 tastele în același timp pentru a deschide Microsoft Visual Basic for applications fereastră,

2. Clic Insert > Moduleși introduceți următorul cod în modul:

VBA: eliminați rânduri întregi pe baza valorii celulei

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. Apoi faceți clic pe Run pentru a rula codul.

4. În caseta de dialog pop-up, vă rugăm să selectați intervalul în care veți elimina rândurile pe baza anumitor valori și faceți clic pe OK butonul.

5. Într-o altă casetă de dialog, introduceți valoarea pe care veți elimina rândurile pe baza căreia faceți clic și faceți clic pe OK buton. Vedeți captura de ecran:

Și apoi veți vedea că rândurile întregi au fost șterse pe baza valorii specificate deja.


Eliminați rândurile pe baza uneia sau a două valori de celule cu Kutools pentru Excel

Dacă ați instalat Kutools for Excel, ict Select Specific Cells funcția vă poate ajuta să ștergeți rapid rândurile cu valoare specifică. Vă rugăm să faceți următoarele:

Kutools pentru Excel - Supercharge Excel cu peste 300 de instrumente esențiale. Bucurați-vă de o încercare GRATUITĂ completă de 30 de zile, fără card de credit necesar! Ia-L Acum

1. Selectați intervalul pe care îl veți elimina rândurile în funcție de anumită valoare și faceți clic Kutools > Select > Select Specific Cells. Vedeți captura de ecran:

2. În fereastra de dialog Selectați celule specificate, verificați Entire row opțiune, selectați Contains din Specific type lista derulantă, introduceți valoarea specificată în caseta din dreapta și faceți clic pe Ok butonul (Vedeți captura de ecran de mai sus).
După aplicarea acestei caracteristici, va apărea o casetă de dialog care vă va arăta câte celule au fost găsite pe baza criteriilor specificate. Vă rugăm să faceți clic pe OK pentru a o închide.

3. Acum sunt selectate rânduri întregi cu o anumită valoare. Faceți clic dreapta pe rândurile selectate și faceți clic pe Delete din meniul cu clic dreapta. Vedeți captura de ecran de mai jos:

notițe: Această Select Specific Cells caracteristica acceptă ștergerea rândurilor cu una sau două valori. Pentru ștergerea rândurilor bazate pe două valori specificate, vă rugăm să specificați o altă valoare în Specific type secțiunea din caseta de dialog Selectare celule specifice, după cum se arată în următoarea captură de ecran:

Kutools pentru Excel - Supercharge Excel cu peste 300 de instrumente esențiale. Bucurați-vă de o încercare GRATUITĂ completă de 30 de zile, fără card de credit necesar! Ia-L Acum


Eliminați rândurile pe baza valorilor de celule multiple cu Kutools pentru Excel

În unele cazuri, poate fi necesar să eliminați rândurile pe baza mai multor valori de celule dintr-o altă coloană / listă din Excel. Aici voi introduce Kutools for Excel's Select Same & Different Cells caracteristică pentru a o rezolva rapid cu ușurință.

Kutools pentru Excel - Supercharge Excel cu peste 300 de instrumente esențiale. Bucurați-vă de o încercare GRATUITĂ completă de 30 de zile, fără card de credit necesar! Ia-L Acum

1. Clic Kutools > Select > Select Same & Different Cells pentru a deschide caseta de dialog Selectare aceleași și diferite celule.

2. În deschidere Select Same & Different Cells caseta de dialog, vă rugăm să faceți următoarele (a se vedea captura de ecran):

(1) În Find values in caseta, vă rugăm să selectați coloana în care veți găsi anumite valori;
(2) În According to casetă, selectați coloana / lista cu mai multe valori pe care veți șterge rândurile pe baza cărora;
(3) În Based on secțiunea, vă rugăm să verificați Each row opțiune;
(4) În Find secțiunea, vă rugăm să verificați Same Values opțiune;
(5) Verificați Select entire rows opțiunea din partea de jos a casetei de dialog de deschidere.
notițe: Dacă două coloane specificate conțin același antet, vă rugăm să verificați My data has headers opțiune.

3. clic pe Ok pentru a aplica acest utilitar. Și apoi apare o casetă de dialog și arată câte rânduri au fost selectate. Doar faceți clic pe OK pentru a o închide.

Și apoi au fost selectate toate rândurile care conțin valori din lista specificată.

4. Clic Home > Delete > Delete Sheet Rows pentru a șterge toate rândurile selectate.


Demo: eliminați rândurile bazate pe una sau mai multe valori de celule în Excel


Kutools pentru Excel: Peste 300 de instrumente la îndemână la îndemână! Începeți astăzi perioada de încercare gratuită de 30 de zile, fără limitări ale funcțiilor. Descarcă acum!

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
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