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

Hvordan fjernes rækker baseret på celleværdi i Excel?

For hurtigt at slette eller fjerne flere rækker baseret på celleværdi i Excel, skal du muligvis først markere de hele rækker, der indeholder specifik celleværdi, og derefter fjerne dem. Det ser ud til, at der ikke er en hurtig måde at slette rækker baseret på celleværdi, men ved hjælp af VBA-kode. Her er nogle hurtige tricks, der kan hjælpe dig.


Fjern rækker baseret på celleværdi med funktionen Find og erstat

I Excel kan du anvende den kraftfulde Find og erstat-funktion til nemt at fjerne rækker baseret på en bestemt celleværdi. Gør som følger:

1. Vælg det område, hvor du vil fjerne rækker baseret på en bestemt celleværdi, og åbn dialogboksen Find og erstat ved at trykke på Ctrl + F taster samtidig.

2. I dialogboksen Find og erstat skal du indtaste den bestemte celleværdi (i vores tilfælde indtaster vi Soe) ind i Find what boks og klik på Find All knap. Se det første skærmbillede nedenfor:

3. Vælg alle søgeresultater nederst i dialogboksen Find og erstat, og luk denne dialogboks. (Bemærk: Du kan vælge et af søgeresultaterne og derefter Ctrl + A for at vælge alle fundne resultater. Se det andet skærmbillede ovenfor.)
Og så kan du se, at alle celler, der indeholder den bestemte værdi, er valgt.

4. Gå videre til højreklik på valgte celler, og vælg Delete fra højreklikmenuen. Og tjek derefter Entire row i pop op-dialogboksen Slet, og klik på OK knap. Nu vil du se, at alle celler, der indeholder den bestemte værdi, er fjernet. Se skærmbilleder nedenfor:

Og så er hele rækker blevet slettet baseret på den bestemte værdi allerede.


Fjern rækker baseret på celleværdi med VBA-kode

Med den følgende VBA-kode kan du hurtigt slette rækkerne med en bestemt celleværdi, gør følgende:

1. Tryk på Alt + F11 taster på samme tid for at åbne Microsoft Visual Basic for applications vindue,

2. Klik Insert > Module, og indtast følgende kode i modulet:

VBA: Fjern hele rækker baseret på celleværdi

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. Klik derefter på Run knappen for at køre koden.

4. I pop op-dialogboksen skal du vælge det område, hvor du vil fjerne rækker baseret på den bestemte værdi, og klik på OK .

5. I en anden dialogboks skal du skrive den bestemte værdi, du vil fjerne rækker baseret på, og klikke på OK knap. Se skærmbillede:

Og så vil du se, at hele rækker er blevet slettet baseret på den angivne værdi allerede.


Fjern rækker baseret på en eller to celleværdier med Kutools til Excel

Hvis du har installeret Kutools for Excel, dens Select Specific Cells funktion kan hjælpe dig med hurtigt at slette rækkerne med en bestemt værdi. Gør som følger:

Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Hent den nu

1. Vælg det interval, som du vil fjerne rækker baseret på den bestemte værdi, og klik på Kutools > Select > Select Specific Cells. Se skærmbillede:

2. I dialogboksen Vælg angivne celler skal du kontrollere Entire row valg, vælg Contains fra Specific type rulleliste, indtast den angivne værdi i højre boks, og klik på Ok knap (Se ovenstående skærmbillede).
Efter anvendelse af denne funktion vises en dialogboks, der viser dig, hvor mange celler der er fundet baseret på de angivne kriterier. Klik på OK knappen for at lukke den.

3. Nu vælges hele rækker med den bestemte værdi. Højreklik på de valgte rækker, og klik på Delete fra højreklikmenuen. Se skærmbillede nedenfor:

Bemærk: Denne Select Specific Cells funktion understøtter at slette rækker med en eller to bestemte værdier. For at slette rækker baseret på to angivne værdier, skal du angive en anden værdi i Specific type sektion af dialogboksen Vælg specifikke celler som følgende skærmbillede vist:

Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Hent den nu


Fjern rækker baseret på flere celleværdier med Kutools til Excel

I nogle tilfælde skal du muligvis fjerne rækker baseret på flere celleværdier fra en anden kolonne / liste i Excel. Her vil jeg introducere Kutools for Excel's Select Same & Different Cells funktion til at løse det hurtigt med lethed.

Kutools til Excel - Indeholder mere end 300 praktiske værktøjer til Excel. Gratis prøveversion med fuld funktion 30-dag, intet kreditkort påkrævet! Hent den nu

1. Klik Kutools > Select > Select Same & Different Cells for at åbne dialogboksen Vælg samme og forskellige celler.

2. I åbningen Select Same & Different Cells dialogboks skal du gøre som følger (se skærmbillede):

(1) I Find values in boks, vælg venligst den kolonne, hvor du finder de bestemte værdier;
(2) I According to felt, vælg venligst kolonnen / listen med flere værdier, du vil slette rækker baseret på;
(3) I Based on afsnit, skal du kontrollere Each row mulighed;
(4) I Find afsnit, skal du kontrollere Same Values mulighed;
(5) Kontroller Select entire rows indstilling nederst i åbningsdialogboksen.
Bemærk: Hvis to angivne kolonner indeholder den samme overskrift, skal du kontrollere My data has headers valgmulighed.

3. Klik på Ok knappen for at anvende dette værktøj. Og så kommer en dialogboks ud og viser, hvor mange rækker der er valgt. Klik bare på OK knappen for at lukke den.

Og så er alle rækker, der indeholder værdier på den angivne liste, blevet valgt.

4. Klik Home > Delete > Delete Sheet Rows for at slette alle valgte rækker.


Demo: fjern rækker baseret på en eller flere celleværdier i Excel


Kutools til Excel indeholder mere end 300 praktiske værktøjer til Excel, gratis at prøve uden begrænsning om 30 dage. Download og gratis prøveversion nu!

De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (39)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Fantastisk! Det virkede en godbid, jeg ændrede det lidt for at passe til det, jeg havde brug for, men rent genialt. Åh VBA-version.
Denne kommentar blev minimeret af moderatoren på webstedet
Enhver måde at ændre If (cell.Value) = "Apple" til at inkludere flere værdier?
Denne kommentar blev minimeret af moderatoren på webstedet
Bobby, prøv dette, det skulle få, hvad du vil have: If (cell.Value) = "Apple" OR (cell.Value) = "mandag"
Denne kommentar blev minimeret af moderatoren på webstedet
Er der overhovedet at få værdien til at genkende en værdi, uanset om den er > eller = til en bestemt værdi?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej - mange tak for manuskriptet. Jeg tænkte på, om du kan bruge jokertegn, så du kan vælge alt i en celle, der matcher i stedet for et specifikt element? Jeg har prøvet at bruge ** jokertegn, men det ser ikke ud til at gøre noget. Her er hvad jeg har: Sub Delete_Rows() Dim rng As Range, celle As Range, del As Range Set rng = Intersect(Range("B6:B20"), ActiveSheet.UsedRange) For hver celle I rng If cell.Value Like "*WORDTODELETE*" _ Then If del Is Nothing Then Set del = celle Else: Set del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hjertelig tak - det er altid sjovt, når marketingmanden forsøger at skrive kode, og denne info var super nyttig. Jeg var ikke i stand til at få koden til at spænde over flere kolonner ("AA2:AA3000" virker, "AB2:AB3000" virker, men "AA2:AB3000" virker ikke. Der er ingen jordskælvende Kaboom - den gør bare ingenting. Jeg Jeg har løst det (amatøragtigt, formoder jeg) ved at køre flere makroer i rækkefølge, men der er sandsynligvis en mere elegant måde. Tak igen for din hjælp, Jim (Melville, NY)
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg får: runtime error '13': Type mismatch Fejlfinding fremhæver sektionen If (cell.Value) = "FALSE" _ Then. Jeg er helt fortabt i MVB, enhver hjælp ville blive værdsat.
Denne kommentar blev minimeret af moderatoren på webstedet
Lad os sige, at jeg indsætter nedenstående kode for at slette alle mine rækker, der indeholder æble, men så vil jeg have, at det fortsætter, når det er gjort, og slette alle rækker, der indeholder banan? Jeg prøvede bare at duplikere koden, men det ser ud til at stoppe efter apple. tak. Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) For hver celle I rng If (cell.Value) = "Apple" _ Så hvis del ikke er noget så sæt del = celle Andet: Indstil del = Union(del, celle) End If End Hvis næste celle Ved fejl Genoptag Næste del.EntireRow.Delete End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg ville bare sige tak. Dette fungerede som en charme.
Denne kommentar blev minimeret af moderatoren på webstedet
Absolut awsome! Tak for at dele!!!
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, det er fantastisk! Hurtig kommentar, jeg prøvede funktionen find og erstat i excel 2010. For at vælge alle de fundne resultater var jeg nødt til at bruge Ctrl +A i stedet for Alt + A.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, Hvad er den nemmeste måde at slette rækker, der IKKE indeholder "Apple" tak? Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, nogen måde at skrive det for at slette en række, med en ELLER undtagelse? Dvs- slet rækker, der er dubletter, men ignorer en bestemt værdi. Jeg ønsker at slette dubletter, undtagen hvor den pågældende kolonne indeholder en tom b/c, at kolonnen ikke har gyldige data endnu. Jeg kørte som du har gjort, men jeg afsluttede sletningen af ​​rækker med en blank i den pågældende kolonne, så jeg kan ikke bruge den som den er. Tak
Denne kommentar blev minimeret af moderatoren på webstedet
Tak for VB Scriptet. Jeg kan ikke vente med at prøve dette. Spørgsmål: Er der overhovedet at markere kolonnerne til sletning før sletning og/eller kopiere til en separat fane i projektmappen? Er der desuden en måde at køre dette script på flere projektmapper/filer på én gang?
Denne kommentar blev minimeret af moderatoren på webstedet
tak.. det hjælper mig meget...
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil gerne slette alle rækker, hvor kolonne 1 = "Æble" OG kolonne 3 = "grøn". Vær venlig?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg er ikke sikker på, hvordan man gør dette ved hjælp af makroer eller deromkring, men en mulighed, der ville gøre sit job fint, er at tilføje en ekstra kolonne, der tester for den ene kolonne til at være "æble" og den anden til at være "grøn" og derefter lade det giver en simpel "ja" eller "nej" værdi. end at bruge en af ​​ovenstående muligheder til at søge efter værdien "ja" og fjerne rækker baseret på det i stedet for 2 separate værdier.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har en liste over butikker i ét dokument. Jeg har en rapport, der returnerer tusindvis af linjer. butiksnummeret er altid i kolonne A. Er der en kode/makro der vil søge i rapporten og slette alle kolonner med butiksnumre fra butikslisten. tænker et vlookup og "Do While" er nødvendigt.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej og mange tak for VBA-koden. Jeg har et spørgsmål. Er det muligt at lave koden sådan, at det er muligt at vælge flere celleværdier at slette på samme tid? For eksempel vælge Apple og Emily på samme tid og slette dem? Jeg sætter pris på dit arbejde og ser frem til dit svar. Joan K
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan kan jeg angive området A3:D3000 (dvs. jeg vil ikke have, at brugeren skal vælge området)? Hvordan kan jeg gøre Slet-strengen til en cellereference, f.eks. G1?
Denne kommentar blev minimeret af moderatoren på webstedet
er det muligt at sammenligne to kolonner og derefter slette? er i området A3:D3000 hvis celle A=x og celle B=y så slette række?
Denne kommentar blev minimeret af moderatoren på webstedet
Sikke en stor. så mange tak allesammen. :)
Der er endnu ingen kommentarer her
Load More
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL