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

Kako odstraniti vrstice glede na vrednost celice v Excelu?

Če želite hitro izbrisati ali odstraniti več vrstic na podlagi vrednosti celice v Excelu, boste morda morali najprej izbrati tiste celotne vrstice, ki vsebujejo določeno vrednost celice, nato pa jih odstraniti. Zdi se, da vrstic na podlagi vrednosti celice ni mogoče hitro izbrisati, ampak z uporabo kode VBA. Tu je nekaj hitrih trikov, ki vam bodo v pomoč.


Odstranite vrstice glede na vrednost celice s funkcijo Najdi in zamenjaj

V Excelu lahko uporabite močno funkcijo Najdi in zamenjaj za enostavno odstranjevanje vrstic na podlagi določene vrednosti celice. Naredite naslednje:

1. Izberite obseg, v katerem boste odstranili vrstice glede na določeno vrednost celice, in s pritiskom na odprite pogovorno okno Najdi in zamenjaj Ctrl + F tipke hkrati.

2. V pogovorno okno Najdi in zamenjaj vnesite določeno vrednost celice (v našem primeru vnesemo Soe) v Find what in kliknite Find All . Oglejte si prvi posnetek zaslona spodaj:

3. Na dnu pogovornega okna Najdi in zamenjaj izberite vse rezultate iskanja in zaprite to pogovorno okno. (Opombe: Lahko izberete enega od rezultatov iskanja in nato Ctrl + A tipke za izbiro vseh najdenih rezultatov. Oglejte si zgornji posnetek zaslona zgoraj.)
Nato lahko vidite, da so izbrane vse celice, ki vsebujejo določeno vrednost.

4. Pojdite z desno miškino tipko na izbrane celice in izberite Delete v meniju z desnim klikom. In nato preverite Entire row v pojavnem pogovornem oknu Delete in kliknite OK . Zdaj boste videli, da so odstranjene vse celice, ki vsebujejo določeno vrednost. Oglejte si posnetke zaslona spodaj:

Nato so bile glede na določeno vrednost že izbrisane celotne vrstice.


Odstranite vrstice glede na vrednost celice s kodo VBA

Z naslednjo kodo VBA lahko hitro izbrišete vrstice z določeno vrednostjo celice. Naredite naslednje:

1. Pritisnite Alt + F11 tipke hkrati odpreti Microsoft Visual Basic for applications okno,

2. Kliknite Insert > Modulein v modul vnesite naslednjo kodo:

VBA: Odstranite celotne vrstice glede na vrednost celice

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. Nato kliknite na Run za zagon kode.

4. V pojavnem pogovornem oknu izberite obseg, v katerem boste odstranili vrstice glede na določeno vrednost, in kliknite OK gumb.

5. V drugo pogovorno okno vnesite določeno vrednost, na podlagi katere boste odstranili vrstice, in kliknite OK . Oglejte si posnetek zaslona:

Nato boste videli, da so bile celotne vrstice izbrisane glede na že določeno vrednost.


Z Kutools za Excel odstranite vrstice na podlagi ene ali dveh vrednosti celic

Če ste namestili Kutools for Excel, njeno Select Specific Cells funkcija vam lahko pomaga hitro izbrisati vrstice z določeno vrednostjo. Naredite naslednje:

Kutools za Excel - Vključuje več kot 300 priročnih orodij za Excel. Brezplačna preizkusna različica vseh funkcij 30-dan, kreditna kartica ni potrebna! Get It Now

1. Izberite obseg, v katerem boste odstranili vrstice glede na določeno vrednost, in kliknite Kutools > Select > Select Specific Cells. Oglejte si posnetek zaslona:

2. V uvodnem pogovornem oknu Select Specified Cells preverite Entire row izberite možnost Contains iz Specific type spustni seznam, vnesite določeno vrednost v desno polje in kliknite Ok gumb (glej zgornji posnetek zaslona).
Po uporabi te funkcije se odpre pogovorno okno in pokaže, koliko celic je bilo najdenih na podlagi določenih meril. Kliknite OK , da ga zaprete.

3. Zdaj so izbrane celotne vrstice z določeno vrednostjo. Z desno miškino tipko kliknite izbrane vrstice in kliknite Delete v meniju z desnim klikom. Oglejte si spodnji posnetek zaslona:

Opombe: Ta Select Specific Cells funkcija podpira brisanje vrstic za eno ali dve določeni vrednosti. Za brisanje vrstic na podlagi dveh določenih vrednosti v polju Specific type odsek pogovornega okna Select Specific Cells, kot je prikazano na sliki spodaj:

Kutools za Excel - Vključuje več kot 300 priročnih orodij za Excel. Brezplačna preizkusna različica vseh funkcij 30-dan, kreditna kartica ni potrebna! Get It Now


Odstranite vrstice na podlagi več vrednosti celic s programom Kutools za Excel

V nekaterih primerih boste morda morali odstraniti vrstice na podlagi več vrednosti celic iz drugega stolpca / seznama v Excelu. Tukaj bom predstavil Kutools for Excel's Select Same & Different Cells funkcija za hitro in enostavno reševanje.

Kutools za Excel - Vključuje več kot 300 priročnih orodij za Excel. Brezplačna preizkusna različica vseh funkcij 30-dan, kreditna kartica ni potrebna! Get It Now

1. Kliknite Kutools > Select > Select Same & Different Cells da odprete pogovorno okno Izberi enake in različne celice.

2. V uvodu Select Same & Different Cells pogovorno okno, naredite naslednje (glejte posnetek zaslona):

(1) V Find values in v polju izberite stolpec, v katerem boste našli določene vrednosti;
(2) V According to izberite stolpec / seznam z več vrednostmi, na podlagi katerih boste izbrisali vrstice;
(3) V Based on , prosimo, preverite Each row možnost;
(4) V Find , prosimo, preverite Same Values možnost;
(5) Preverite Select entire rows na dnu pogovornega okna.
Opombe: Če dva navedena stolpca vsebujeta isto glavo, preverite My data has headers možnost.

3. kliknite Ok gumb za uporabo tega pripomočka. Nato se odpre pogovorno okno in pokaže, koliko vrstic je bilo izbranih. Samo kliknite OK , da ga zaprete.

Nato so bile izbrane vse vrstice, ki vsebujejo vrednosti med navedenim seznamom.

4. Kliknite Home > Delete > Delete Sheet Rows da izbrišete vse izbrane vrstice.


Predstavitev: odstranite vrstice na podlagi ene ali več vrednosti celic v Excelu


Kutools za Excel vsebuje več kot 300 priročnih orodij za Excel, ki jih lahko brezplačno preizkusite v 30 dneh. Prenesite in brezplačno preizkusite zdaj!

Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča vašo produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2021 in 365. Podpira vse jezike. Enostavna uvedba v vašem podjetju ali organizaciji. 30-dnevna brezplačna preizkusna različica vseh funkcij. 60-dnevna garancija vračila denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50%in vsak dan zmanjša na stotine klikov miške za vas!
dno pisarniške mize
Komentarji (39)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Fantastično! To je delovalo kot priboljšek, nekoliko sem ga spremenil, da je ustrezal temu, kar sem potreboval, a čisto genialno. Oh VBA različica.
Ta komentar je moderator na spletnem mestu minimiziral
Ali lahko spremenite If (cell.Value) = "Apple", da vključuje več vrednosti?
Ta komentar je moderator na spletnem mestu minimiziral
Bobby, poskusi to, dobil bi tisto, kar želiš: Če (cell.Value) = "Apple" OR (cell.Value) = "Ponedeljek"
Ta komentar je moderator na spletnem mestu minimiziral
Ali sploh obstaja možnost, da vrednost prepozna vrednost, ali je > ali = za določeno vrednost?
Ta komentar je moderator na spletnem mestu minimiziral
Hej - najlepša hvala za scenarij. Zanima me, ali lahko uporabite nadomestne znake, da lahko izberete karkoli znotraj celice, ki se ujema in ne določen element? Poskušal sem uporabiti nadomestne znake **, vendar se zdi, da nič ne pomaga. Tukaj imam: Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect("B6:B20"), ActiveSheet.UsedRange) Za vsako celico v rng If cell.Value Like "*WORDTODELETE*" _ Potem Če del ni nič, potem Nastavi del = celica Drugače: Nastavi del = Union(del, celica) Konec, če Konec, če Naslednja celica ob napaki Nadaljuj naslednji del.EntireRow.Delete End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Iskrena hvala - vedno je zabavno, ko marketinški tip poskuša napisati kodo, in ta informacija je bila zelo koristna. Ni mi uspelo pridobiti kode, ki bi zajemala več stolpcev ("AA2:AA3000" deluje, "AB2:AB3000" deluje, "AA2:AB3000" ne deluje. Kabooma, ki ruši Zemljo, ni - preprosto ne naredi ničesar. Jaz Rešil sem (predvidevam amatersko) z izvajanjem več makrov zaporedoma, vendar verjetno obstaja bolj eleganten način. Še enkrat hvala za pomoč, Jim (Melville, NY)
Ta komentar je moderator na spletnem mestu minimiziral
Dobim: napaka med izvajanjem '13': Neujemanje tipov Odpravljanje napak osvetli razdelek If (cell.Value) = "FALSE" _ Nato. Popolnoma sem izgubljen v MVB, vsaka pomoč bi bila hvaležna.
Ta komentar je moderator na spletnem mestu minimiziral
Recimo, da sem vstavil spodnjo kodo, da izbrišem vse svoje vrstice, ki vsebujejo jabolko, vendar želim, da se nadaljuje, ko je to storjeno, in izbrišem vse vrstice, ki vsebujejo banano? Poskušal sem samo podvojiti kodo, vendar se zdi, da se po jabolku ustavi. hvala Sub Delete_Rows() Dim rng Kot obseg, celica kot obseg, del kot obseg Nastavi rng = Intersect("A1:C20"), ActiveSheet.UsedRange) Za vsako celico v rng If (cell.Value) = "Apple" _ Potem Če del ni nič Potem Nastavi del = celica Drugače: Nastavi del = Union(del, celica) Konec, če Konec Če naslednja celica ob napaki Nadaljuj naprej del.EntireRow.Delete End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Hotel sem se samo zahvaliti. To je delovalo kot čar.
Ta komentar je moderator na spletnem mestu minimiziral
Vsekakor super! Hvala za deljenje!!!
Ta komentar je moderator na spletnem mestu minimiziral
Hvala, to je super! Hiter komentar, poskusil sem s funkcijo najdi in zamenjaj v excelu 2010. Da bi izbral vse najdene rezultate, sem moral uporabiti Ctrl +A namesto Alt + A.
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, prosim, kako najlažje izbrišete vrstice, ki NE vsebujejo "Apple"? Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Živjo, ali lahko napišete, da izbrišete vrstico, z izjemo ALI? Ie- izbrišite vrstice, ki so podvojene, vendar prezrite določeno vrednost. Želim izbrisati dvojnike, razen če zadevni stolpec vsebuje prazen b/c, ta stolpec še nima veljavnih podatkov. Tekel sem kot ti, vendar sem končal z brisanjem vrstic s praznim v zadevnem stolpcu, zato ga ne morem uporabiti takšnega, kot je. Hvala
Ta komentar je moderator na spletnem mestu minimiziral
Hvala za VB skript. Komaj čakam, da to poskusim. Vprašanje: Ali je mogoče označiti stolpce za brisanje, preden jih izbrišete in/ali kopirate na ločen zavihek v delovnem zvezku? Poleg tega obstaja način, da se ta skript zažene v več delovnih zvezkih/datotekah hkrati?
Ta komentar je moderator na spletnem mestu minimiziral
hvala.. zelo mi pomaga...
Ta komentar je moderator na spletnem mestu minimiziral
Rad bi izbrisal vse vrstice, kjer je stolpec1 = "Jabolko" IN stolpec3 = "zeleno". prosim?
Ta komentar je moderator na spletnem mestu minimiziral
Ne vem, kako to narediti z uporabo makrov ali podobno, vendar ena možnost, ki bi dobro opravila svoje delo, je, da dodate dodaten stolpec, ki preizkuša, ali je en stolpec "jabolčno", drugi pa "zelen" in nato pustite daje preprosto vrednost "da" ali "ne". namesto da uporabite katero koli od zgornjih možnosti za iskanje vrednosti "da" in odstranite vrstice na podlagi tega namesto dveh ločenih vrednosti.
Ta komentar je moderator na spletnem mestu minimiziral
imam seznam trgovin v enem dokumentu. Imam poročilo, ki vrne tisoč vrstic. številka trgovine je vedno v stolpcu A. Ali obstaja koda/makro, ki bo poiskal poročilo in izbrisal vse stolpce s številkami trgovin s seznama trgovin. misleč, da sta potrebna vlookup in "Do While".
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni in najlepša hvala za kodo VBA. Imam eno vprašanje. Ali je mogoče narediti kodo tako, da je mogoče izbrati več vrednosti celic za brisanje hkrati? Na primer izbrati Apple in Emily hkrati in ju izbrisati? Cenim vaše delo in se veselim vašega odgovora. Joan K
Ta komentar je moderator na spletnem mestu minimiziral
Kako lahko določim obseg A3:D3000 (tj. ne želim, da uporabnik izbere obseg)? Kako lahko naredim Delete String kot sklic na celico, npr. G1?
Ta komentar je moderator na spletnem mestu minimiziral
ali je mogoče primerjati dva stolpca in nato izbrisati? je v obsegu A3:D3000, če celica A=x in celica B=y nato izbrišete vrstico?
Ta komentar je moderator na spletnem mestu minimiziral
Kako super. najlepša hvala vsem. :)
Tu še ni objavljenih komentarjev
Obremenitev Več
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije

Sledi nam

Copyright © 2009 - www.extendoffice.com. | Vse pravice pridržane. Poganja ga ExtendOffice. | Kazalo
Microsoft in logotip Office sta blagovni znamki ali registrirani blagovni znamki družbe Microsoft Corporation v ZDA in / ali drugih državah.
Zaščiteno s Sectigo SSL