Note: The other languages of the website are Google-translated. Back to English

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 - Include peste 300 de instrumente utile pentru Excel. Probă gratuită cu funcții complete 30-zi, nu este nevoie de card de credit! 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 - Include peste 300 de instrumente utile pentru Excel. Probă gratuită cu funcții complete 30-zi, nu este nevoie de card de credit! 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 - Include peste 300 de instrumente utile pentru Excel. Probă gratuită cu funcții complete 30-zi, nu este nevoie de card de credit! 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 include mai mult de 300 de instrumente la îndemână pentru Excel, gratuite pentru a încerca fără limitări în 30 de zile. Descărcați și încercați gratuit acum!

Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
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!
fundul officetab
Comentarii (39)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Fantastic! A funcționat un răsfăț, l-am modificat ușor pentru a se potrivi cu ceea ce aveam nevoie, dar pur și simplu genial. Oh, versiunea VBA.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vreo modalitate de a modifica If (cell.Value) = „Apple” pentru a include mai multe valori?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bobby, încearcă asta, ar trebui să obțină ceea ce vrei: Dacă (cell.Value) = "Apple" SAU (cell.Value) = "Luni"
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există oricum valoarea să recunoască o valoare indiferent dacă este > sau = la o anumită valoare?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hei, mulțumesc mult pentru scenariu. Mă întrebam dacă poți folosi metacaractere astfel încât să poți selecta ceva dintr-o celulă care se potrivește mai degrabă decât cu un anumit articol? Am încercat să folosesc ** wildcards, dar nu pare să facă nimic. Iată ce am: Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("B6:B20"), ActiveSheet.UsedRange) Pentru fiecare celulă În rng If cell.Value Like „*WORDTODELETE*” _ Then If del Is Nothing Then Set del = cell Else: Set del = Union(del, cell) End If End If Next cell On Error Reluare Next del.EntireRow.Delete End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc din suflet - este întotdeauna amuzant când tipul de marketing încearcă să scrie cod, iar aceste informații au fost de mare ajutor. Nu am reușit să fac ca codul să se întinde pe mai multe coloane ("AA2:AA3000" funcționează, "AB2:AB3000" funcționează, dar "AA2:AB3000" nu funcționează. Nu există Kaboom care distruge Pământul - pur și simplu nu face nimic. Eu Am rezolvat-o (amatorist, presupun) rulând mai multe macrocomenzi în succesiune, dar probabil că există o modalitate mai elegantă. Mulțumesc din nou pentru ajutor, Jim (Melville, NY)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Primesc: eroare de rulare „13”: nepotrivirea tipului Depanarea evidențiază secțiunea If (cell.Value) = „FALSE” _ Then. Sunt complet pierdut în MVB, orice ajutor ar fi apreciat.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Să presupunem că am introdus codul de mai jos pentru a șterge toate rândurile mele care conțin mere, dar apoi vreau să continue odată ce s-a terminat și să șterg toate rândurile care conțin banane? Am încercat doar să dublez codul, dar se pare că se oprește după Apple. Mulțumiri. Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) Pentru fiecare celulă În rng If (cell.Value) = "Apple" _ Apoi, dacă del nu este nimic, apoi setați del = celulă Altceva: setați del = unire (del, celulă) End If End If Next cell On Error Reluare Next del.EntireRow.Delete End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am vrut doar să-ți mulțumesc. Acest lucru a funcționat ca un farmec.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cu siguranță grozav! Apreciez pentru partajare!!!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc, este grozav! Comentariu rapid, am încercat funcția de căutare și înlocuire în excel 2010. Pentru a selecta toate rezultatele găsite a trebuit să folosesc Ctrl +A în loc de Alt + A.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, care este cel mai simplu mod de a șterge rândurile care NU conțin „Apple”, vă rog? Mulțumiri
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut, vreo modalitate de a-l scrie pentru a șterge un rând, cu o excepție SAU? Ie- ștergeți rândurile care sunt duplicate, dar ignorați o anumită valoare. Vreau să șterg duplicatele, cu excepția cazului în care coloana în cauză conține un b/c necomplet, acea coloană nu are încă date valide. Am alergat ca și dumneavoastră, dar am terminat cu ștergerea rândurilor cu un gol în coloana în cauză, așa că nu îl pot folosi așa cum este. Mulțumiri
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumim pentru Scriptul VB. Abia aștept să încerc asta. Întrebare: Există oricum să marcați coloanele pentru ștergere înainte de a le șterge și/sau a le copia într-o filă separată din registrul de lucru? În plus, există o modalitate de a rula acest script pe mai multe cărți de lucru/fișiere simultan?
Acest comentariu a fost redus la minimum de moderatorul de pe site
multumesc.. ma ajuta mult...
Acest comentariu a fost redus la minimum de moderatorul de pe site
Aș dori să șterg toate rândurile unde coloana1 = „Mere” ȘI coloana3 = „verde”. Vă rog?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Nu sunt sigur cum să fac acest lucru folosind macro-uri sau așa ceva, dar o opțiune care și-ar face treaba bine este să adăugați o coloană suplimentară care testează ca o coloană să fie „măr”, iar cealaltă să fie „verde” și apoi lăsată dă o valoare simplă „da” sau „nu”. apoi utilizați oricare dintre opțiunile de mai sus pentru a căuta valoarea „da” și eliminați rândurile bazate pe aceasta în loc de 2 valori separate.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am o listă de magazine într-un singur document. Am un raport care returnează mii de rânduri. numărul magazinului este întotdeauna în coloana A. Există un cod/macro care va căuta în raport și va șterge toate coloanele cu numerele de magazin din lista de magazine. gândindu-mă că este nevoie de o căutare și „Do While”.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua și vă mulțumesc foarte mult pentru codul VBA. Am o intrebare. Este posibil să faceți codul în felul în care este posibil să alegeți mai multe valori de celule de șters în același timp? De exemplu, alegeți Apple și Emily în același timp și le ștergeți? Apreciez că lucrezi și aștept cu nerăbdare răspunsul tău. Joan K
Acest comentariu a fost redus la minimum de moderatorul de pe site
Cum pot specifica intervalul A3:D3000 (adică nu vreau ca utilizatorul să selecteze intervalul)? Cum pot face din Delete String o referință de celulă, de ex. G1?
Acest comentariu a fost redus la minimum de moderatorul de pe site
este posibil să compari două coloane și apoi să ștergi? este în intervalul A3: D3000 dacă celula A=x și celula B=y, atunci ștergeți rândul?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Ce minunatie. multumesc mult tuturor. :)
Nu există comentarii postate aici încă
Încărcați mai
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL