Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Accedi
x
or
x
x
Registrati
x

or

Come rimuovere le righe in base al valore della cella in Excel?

Per eliminare o rimuovere rapidamente più righe in base al valore della cella in Excel, potrebbe essere necessario selezionare quelle intere righe contenenti il ​​valore specifico della cella, quindi andare a rimuoverle. Sembra che non ci sia un modo rapido per eliminare le righe in base al valore della cella ma usando il codice VBA. Ecco alcuni trucchi rapidi per aiutarti.

Rimuovi le righe in base al valore di una cella con la funzione Trova e sostituisci

Rimuovi le righe in base a un valore di cella con codice VBA

Rimuovi le righe in base a uno o due valori di cella

Rimuovi le righe in base a più valori di cella

Seleziona rapidamente intere righe / colonne per un determinato valore di cella, quindi elimina facilmente riga / colonna selezionata!

Kutools for Excel'S Select SpecifiC Cells l'utilità fornisce agli utenti di Excel una scelta facile per selezionare l'intera riga o l'intera colonna se i valori della cella corrispondono a determinati valori in Excel. Più facile e più distinto per il lavoro! Versione di prova gratuita con funzionalità complete 30-day!
l'annuncio seleziona celle speciali seleziona intere colonne di righe se contengono determinati valori

Scheda Office Abilita la modifica e la navigazione a schede in Office e semplifica notevolmente il tuo lavoro ...
Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%
  • Riutilizzare qualsiasi cosa: Aggiungi le formule più utilizzate o complesse, i grafici e qualsiasi altra cosa ai tuoi preferiti e riutilizzali rapidamente in futuro.
  • Più delle funzioni di testo di 20: Estrai numero da stringa di testo; Estrai o rimuovi parte di testi; Converti numeri e valute in parole inglesi.
  • Unisci strumenti: Più cartelle di lavoro e fogli in uno; Unisci più celle / righe / colonne senza perdere dati; Unisci righe duplicate e somma.
  • Strumenti di divisione: Suddivisione dei dati in più fogli in base al valore; Una cartella di lavoro per più file Excel, PDF o CSV; Una colonna a più colonne.
  • Incolla Saltare Righe nascoste / filtrate; Conte E Somma per colore di sfondo; Invia e-mail personalizzate a più destinatari in blocco.
  • Super filtro: Crea schemi di filtro avanzati e applica a tutti i fogli; Ordinare per settimana, giorno, frequenza e altro; Filtro da grassetto, formule, commento ...
  • Oltre alle potenti funzionalità di 300; Funziona con Office 2007-2019 e 365; Supporta tutte le lingue; Facile implementazione nella tua azienda o organizzazione.


freccia blu bolla destra Rimuovi le righe in base al valore della cella con la funzione Trova e sostituisci

In Excel, puoi applicare la potente funzione Trova e sostituisci per rimuovere facilmente le righe in base a un determinato valore di cella. Si prega di fare come segue:

1. Seleziona l'intervallo in cui rimuovere le righe in base a determinati valori di cella e apri la finestra di dialogo Trova e sostituisci premendo il tasto Ctrl + F tasti contemporaneamente.

2. Nella finestra di dialogo Trova e sostituisci, digita il valore di una certa cella (nel nostro caso, inseriamo la Soe) dentro Find what casella e fare clic su Find All pulsante. Guarda la prima schermata qui sotto:

3. Seleziona tutti i risultati della ricerca nella parte inferiore della finestra di dialogo Trova e sostituisci, quindi chiudi questa finestra di dialogo. (Note: È possibile selezionare uno dei risultati di ricerca, quindi Ctrl + A tasti per selezionare tutti i risultati trovati. Vedi la seconda schermata qui sopra.)
E poi puoi vedere tutte le celle che contengono il determinato valore sono selezionate.

4. Vai avanti per fare clic destro su celle selezionate e selezionare il Delete dal menu di scelta rapida. E poi controlla il Entire row opzione nella finestra di dialogo Elimina, quindi fare clic su OK pulsante. Ora vedrai tutte le celle che contengono il determinato valore vengono rimosse. Vedi gli screenshot qui sotto:

E poi intere righe sono state cancellate in base al determinato valore già.


freccia blu bolla destra Rimuovi le righe in base al valore della cella con il codice VBA

Con il seguente codice VBA, è possibile eliminare rapidamente le righe con un determinato valore di cella, eseguire le seguenti operazioni:

1. premi il Alt + F11 chiavi allo stesso tempo per aprire Microsoft Visual Basic for applications finestra,

2. Clic Insert > Modulee inserisci il seguente codice nel modulo:

VBA: rimuovi intere righe in base al valore della cella

Sub DeleteRows()
'Updateby20140314
Dim rng As Range
Dim InputRng As Range
Dim DeleteRng As Range
Dim DeleteStr As String
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
DeleteStr = Application.InputBox("Delete Text", xTitleId, Type:=2)
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)
        End If
    End If
Next
DeleteRng.EntireRow.Delete
End Sub

3. Quindi fare clic su Run pulsante per eseguire il codice.

4. Nella finestra di dialogo spuntata, selezionare l'intervallo in cui rimuovere le righe in base al determinato valore e fare clic su OK pulsante.

5. In un'altra finestra di dialogo, digita il determinato valore per cui rimuovi le righe in base a, e fai clic su OK pulsante. Vedi screenshot:

E poi vedrai che intere righe sono state cancellate in base al valore specificato già.


freccia blu bolla destra Rimuovi le righe in base a uno o due valori di cella con Kutools per Excel

Se hai installato Kutools for Excel, suo Select Specific Cells funzionalità può aiutarti a eliminare rapidamente le righe con un valore specifico. Si prega di fare come segue:

1. Seleziona l'intervallo in cui rimuoverai le righe in base al determinato valore e fai clic su Kutools > Select > Select Specific Cells. Vedi screenshot:

2. Nella finestra di dialogo Seleziona celle specificate di apertura, verificare Entire row opzione, selezionare Contains da Specific type menu a discesa, immettere il valore specificato nella casella di destra e fare clic su Ok pulsante (Vedi immagine sopra).
Dopo aver applicato questa funzione, apparirà una finestra di dialogo che ti mostrerà quante celle sono state trovate in base ai criteri specificati. Si prega di fare clic sul OK pulsante per chiuderlo.

3. Ora vengono selezionate intere righe con il valore determinato. Fai clic con il pulsante destro del mouse sulle righe selezionate e fai clic su Delete dal menu di scelta rapida. Vedi la schermata qui sotto:

Note: Questo Select Specific Cells funzione supporta per eliminare le righe di uno o due determinati valori. Per eliminare le righe in base a due valori specificati, specificare un altro valore nel file Specific type sezione della finestra di dialogo Seleziona celle specifiche come mostrato nella seguente schermata:

Kutools for Excel - Include più di 300 strumenti utili per Excel. Versione di prova gratuita 30-day completa, nessuna carta di credito richiesta! Get It Now


freccia blu bolla destraRimuovi le righe in base a più valori di cella con Kutools per Excel

In alcuni casi, potrebbe essere necessario rimuovere le righe in base a più valori di cella da un'altra colonna / elenco in Excel. Qui introdurrò Kutools for Excel's Select Same & Different Cells funzionalità per risolverlo rapidamente con facilità.

1. Clic Kutools > Select > Select Same & Different Cells per aprire la finestra di dialogo Seleziona le stesse e diverse celle.

2. In apertura Select Same & Different Cells finestra di dialogo, si prega di fare come segue (vedi screenshot):

(1) Nella Find values in box, seleziona la colonna in cui troverai determinati valori;
(2) Nella According to casella, selezionare la colonna / elenco con più valori per eliminare le righe in base a;
(3) Nella Based on sezione, si prega di controllare il Each row opzione;
(4) Nella Find sezione, si prega di controllare il Same Values opzione;
(5) Controllare il Select entire rows opzione nella parte inferiore della finestra di dialogo di apertura.
Note: Se due colonne specificate contengono la stessa intestazione, si prega di controllare My data has headers opzione.

3. Clicca il Ok pulsante per applicare questa utilità. E poi una finestra di dialogo esce e mostra quante righe sono state selezionate. Basta fare clic sul OK pulsante per chiuderlo.

E poi sono state selezionate tutte le righe contenenti valori tra l'elenco specificato.

4. Clic Home > Delete > Delete Sheet Rows per cancellare tutte le righe selezionate.


freccia blu bolla destraDemo: rimuovi le righe in base a uno o più valori di cella in Excel

Kutools for Excel include più di 300 utili strumenti per Excel, gratuiti da provare senza limitazioni nei giorni 30. Scarica e prova gratuita ora!

Kutools per Excel risolve la maggior parte dei problemi e aumenta la produttività del 80%

  • Riutilizzo: Inserire rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Cifra le celle con password; Crea mailing list e invia email ...
  • Super Formula Bar (modifica facilmente più righe di testo e formula); Layout di lettura (leggere e modificare facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere i dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Previeni celle duplicate; Confronta le gamme...
  • Seleziona Duplica o Unica Righe; Seleziona righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molti libri di esercizi; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento alla formula; Creazione automatica di riferimenti a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • estrarre il testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare subtotali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale di grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle basate su colonne chiave; Dividi i dati in più fogli; Converti in batch xls, xlsx e PDF...
  • Oltre alle potenti funzionalità di 300. Supporta Office / Excel 2007-2019 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzioni complete di prova gratuita di 30-day.
kte tab 201905

Scheda Office Porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Editore, accesso, Visio e progetto.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la tua produttività di 50% e riduce centinaia di clic del mouse per te ogni giorno!
fondo officetab
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    kaushal · 2 years ago
    very well. Thank you!
  • To post as a guest, your comment is unpublished.
    Bobby · 2 years ago
    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
  • To post as a guest, your comment is unpublished.
    Amar · 2 years ago
    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..
  • To post as a guest, your comment is unpublished.
    Marion · 3 years ago
    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

    [i][b]My real case is:[/b][/i] 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
  • To post as a guest, your comment is unpublished.
    Aju Thoas · 3 years ago
    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.
  • To post as a guest, your comment is unpublished.
    PC · 3 years ago
    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
  • To post as a guest, your comment is unpublished.
    NEU · 3 years ago
    thank you so much. That save me a lot of time
  • To post as a guest, your comment is unpublished.
    NC Arch · 4 years ago
    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.
  • To post as a guest, your comment is unpublished.
    Clay · 4 years ago
    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
  • To post as a guest, your comment is unpublished.
    Milon · 4 years ago
    Great it work thank you so much
  • To post as a guest, your comment is unpublished.
    Moe · 4 years ago
    Hello, many thanks for the code. But say I want to delete one row containing "Apple". And not all of the rows containing it. Let's just say the last one, or a random one, doesn't really matter, just one. Many thanks in advance! :-)
  • To post as a guest, your comment is unpublished.
    Meredith · 4 years ago
    Just what I needed, thanks! :D
  • To post as a guest, your comment is unpublished.
    JonS · 4 years ago
    Is there anyway to have the value recognize a value that has expired, such as. All rows that show an expiration date within a specific column will be automatically removed and then the rows that were deleted will be filled by moving the rows beneath. Filling gaps.
  • To post as a guest, your comment is unpublished.
    angel baby · 4 years ago
    What a great. thank so all so much. :)
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    is it possible to compare two columns and then delete? is in range A3:D3000 if cell A=x and cell B=y then delete row?
  • To post as a guest, your comment is unpublished.
    DavidGough · 4 years ago
    How can I specify the range A3:D3000 (ie. I don´t want the user to select the range)? How can I make the Delete String a cell reference, ex. G1?
  • To post as a guest, your comment is unpublished.
    Joan K · 4 years ago
    Hello and thank you very much for the VBA code. I have one question.

    Is it possible to make the code the way that it is possible to choose several cell values to delete at the same time? For example choose Apple and Emily at the same time and delete them?
    I appreciate you work and looking forward to your response.

    Joan K
  • To post as a guest, your comment is unpublished.
    Victor · 5 years ago
    i have a list of stores in one document. I have a report that returns thousand of lines. the store number is always in Column A. Is there a code/macro that will search the report and delete all columns with store numbers from the store list. thinking a vlookup and "Do While" are needed.
  • To post as a guest, your comment is unpublished.
    alex2 · 5 years ago
    I'd like to delete all rows where column1 = "Apple" AND column3 = "green". please?
    • To post as a guest, your comment is unpublished.
      Finidi · 5 years ago
      Im not sure how to do this using macro's or so, but one option that would do its job just fine is to add an extra colum that tests for the one colum to be "apple" and the other to be "green" and then let it give a simple "yes" or "no" value. than use either of the above options to search for the value "yes" and remove rows based on that instead of 2 seperate values.
  • To post as a guest, your comment is unpublished.
    gabz · 5 years ago
    thank.. it helps me a lot...
  • To post as a guest, your comment is unpublished.
    smj2013 · 5 years ago
    Thank you for the VB Script. I can not wait to try this. Question:Is there anyway to mark the columns for deletion prior to deleting them and/or copy to a separate tab in the workbook? In addition is there a way to run this script run on multiple workbooks/files at one time?
  • To post as a guest, your comment is unpublished.
    Leo · 5 years ago
    Hi,
    Any way to write it to delete a row, with an OR exception? I.e- delete rows that are duplicates, but ignore a certain value. I want to delete duplicates, except where the column in question contains a blank b/c that column doesn't have valid data yet. I ran as you have, but I ended deleting rows with a blank in the column in question, so I can't use it as it is.
    Thanks
  • To post as a guest, your comment is unpublished.
    Tee · 5 years ago
    Hi,
    What is the easiest way to delete rows that do NOT contain "Apple" please?

    Thanks
  • To post as a guest, your comment is unpublished.
    Aleardo · 5 years ago
    Thanks, this is great!
    Quick comment, I tried the find and replace function in excel 2010.
    In order to select all the found results I had to use Ctrl +A instead of Alt + A.
  • To post as a guest, your comment is unpublished.
    Mira · 5 years ago
    Definitely awsome! Appreciate for sharing!!!
  • To post as a guest, your comment is unpublished.
    Joe Nelson · 5 years ago
    I just wanted to say thank you. This worked like a charm.
  • To post as a guest, your comment is unpublished.
    Adam · 5 years ago
    Lets say I put the below code in to delete all of my rows that contain apple but then I want it to continue once that is done and delete all the rows that contain banana? I tried to just duplicate the code but it seems to stop after apple.

    thanks.

    Sub Delete_Rows()
    Dim rng As Range, cell As Range, del As Range
    Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange)
    For Each cell In rng
    If (cell.Value) = "Apple" _
    Then
    If del Is Nothing Then
    Set del = cell
    Else: Set del = Union(del, cell)
    End If
    End If
    Next cell
    On Error Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    H man · 5 years ago
    I get:

    run-time error '13':
    Type mismatch

    Debugging highlights the If (cell.Value) = "FALSE" _
    Then
    section.

    I'm totally lost in MVB, any help would be appreciated.
  • To post as a guest, your comment is unpublished.
    Jim Mc · 5 years ago
    Heartfelt thanks - it's always amusing when the Marketing guy tries to write code, and this info was super helpful. I was unable to get the code to span multiple columns ("AA2:AA3000" works, "AB2:AB3000" works, but "AA2:AB3000" doesn't work. There's no Earth-shattering Kaboom - it just does nothing. I've solved it (amateurishly, I suppose) by running several macros in sequence, but there's probably a more elegant way. Thanks again for your help, Jim (Melville, NY)
  • To post as a guest, your comment is unpublished.
    Claire · 5 years ago
    Hey - thanks so much for the script. I was wondering if you can use wildcards so you can select anything within a cell that matches rather than a specific item? I've tried using ** wildcards but it doesn't seem to do anything. Here is what I have:

    Sub Delete_Rows()
    Dim rng As Range, cell As Range, del As Range
    Set rng = Intersect(Range("B6:B20"), ActiveSheet.UsedRange)
    For Each cell In 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 Resume Next
    del.EntireRow.Delete
    End Sub
  • To post as a guest, your comment is unpublished.
    Art · 6 years ago
    Bobby, try this, it should get what you want:
    If (cell.Value) = "Apple" OR (cell.Value) = "Monday"
    • To post as a guest, your comment is unpublished.
      April · 5 years ago
      Is there anyway to have the value recognize a value whether is > or = to a certain value?
  • To post as a guest, your comment is unpublished.
    Bobby · 6 years ago
    Any way to modify the If (cell.Value) = "Apple" to include multiple values?
  • To post as a guest, your comment is unpublished.
    Alan · 6 years ago
    Fantastic! That worked a treat, I altered it slightly to suit what I needed but pure genious. Oh VBA Version.