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

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 prima quelle intere righe contenenti un valore di cella specifico, quindi rimuoverle. Sembra che non ci sia un modo rapido per eliminare le righe in base al valore della cella ma utilizzando il codice VBA. Ecco alcuni trucchi rapidi per aiutarti.


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 quanto segue:

1. Seleziona l'intervallo in cui rimuovere le righe in base a un determinato valore 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 determinato valore della cella (nel nostro caso, inseriamo il Soe) dentro Find what casella e fare clic su Find All pulsante. Guarda il primo screenshot qui sotto:

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

4. Vai avanti per fare clic con il pulsante destro del mouse sulle celle selezionate e selezionare il file Delete dal menu di scelta rapida. E poi controlla il file Entire row opzione nella finestra di dialogo Elimina che si apre e fare clic su OK pulsante. Ora vedrai tutte le celle contenenti un determinato valore vengono rimosse. Guarda gli screenshot qui sotto:

E poi intere righe sono già state eliminate in base a un determinato valore.


Rimuovi le righe in base al valore della cella con il codice VBA

Con il seguente codice VBA, puoi eliminare rapidamente le righe con un determinato valore di cella, esegui 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 codice seguente nel modulo:

VBA: rimuovi intere righe in base al valore della cella

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. Quindi fare clic su Run pulsante per eseguire il codice.

4. Nella finestra di dialogo che si apre, selezionare l'intervallo in cui rimuovere le righe in base a un determinato valore e fare clic su OK pulsante.

5. In un'altra finestra di dialogo, digita il valore specifico su cui rimuoverai le righe e fai clic su OK pulsante. Vedi screenshot:

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


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 può aiutarti a eliminare rapidamente le righe con un valore specifico. Si prega di fare quanto segue:

Kutools for Excel - Include più di 300 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Get It Now

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

2. Nella finestra di dialogo Seleziona celle specificate di apertura, controlla Entire row opzione, selezionare Contains da Specific type elenco a discesa, immettere il valore specificato nella casella di destra e fare clic su Ok pulsante (vedi screenshot sopra).
Dopo aver applicato questa funzione, verrà visualizzata una finestra di dialogo che mostrerà quante celle sono state trovate in base ai criteri specificati. Fare clic sul file OK pulsante per chiuderlo.

3. Ora vengono selezionate intere righe con un determinato valore. Fare clic con il pulsante destro del mouse sulle righe selezionate e fare clic su Delete dal menu di scelta rapida. Vedi screenshot qui sotto:

Note:: Questo Select Specific Cells funzionalità supporta l'eliminazione di righe di uno o due determinati valori. Per eliminare 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 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Get It Now


Rimuovi le righe in base a più valori di cella con Kutools per Excel

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

Kutools for Excel - Include più di 300 pratici strumenti per Excel. Prova gratuita di tutte le funzionalità 30-day, nessuna carta di credito richiesta! Get It Now

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

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

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

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

E quindi sono state selezionate tutte le righe contenenti valori nell'elenco specificato.

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


Demo: 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, da provare gratuitamente senza limitazioni in 30 giorni. Scarica e prova gratuita ora!

I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 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, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (39)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Fantastico! Ha funzionato a meraviglia, l'ho modificato leggermente per adattarlo a ciò di cui avevo bisogno ma puro genio. Oh versione VBA.
Questo commento è stato fatto dal moderatore sul sito
Un modo per modificare If (cell.Value) = "Apple" per includere più valori?
Questo commento è stato fatto dal moderatore sul sito
Bobby, prova questo, dovrebbe ottenere quello che vuoi: If (cell.Value) = "Apple" OR (cell.Value) = "Monday"
Questo commento è stato fatto dal moderatore sul sito
Esiste comunque il fatto che il valore riconosca un valore se è > o = a un certo valore?
Questo commento è stato fatto dal moderatore sul sito
Ehi, grazie mille per la sceneggiatura. Mi chiedevo se è possibile utilizzare i caratteri jolly in modo da poter selezionare qualsiasi cosa all'interno di una cella che corrisponda anziché un elemento specifico? Ho provato a usare ** caratteri jolly ma non sembra fare nulla. Ecco cosa ho: 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 Imposta del = cell Altro: Imposta del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub
Questo commento è stato fatto dal moderatore sul sito
Grazie di cuore: è sempre divertente quando l'addetto al marketing cerca di scrivere codice e queste informazioni sono state di grande aiuto. Non sono riuscito a far sì che il codice si estenda su più colonne ("AA2: AA3000" funziona, "AB2: AB3000" funziona, ma "AA2: AB3000" non funziona. Non c'è Kaboom sconvolgente - semplicemente non fa nulla. I "l'ho risolto (in modo amatoriale, suppongo) eseguendo diverse macro in sequenza, ma probabilmente c'è un modo più elegante. Grazie ancora per il tuo aiuto, Jim (Melville, NY)
Questo commento è stato fatto dal moderatore sul sito
Ottengo: errore di runtime '13': digita mancata corrispondenza Il debug evidenzia la sezione If (cell.Value) = "FALSE" _ Then. Sono totalmente perso in MVB, qualsiasi aiuto sarebbe apprezzato.
Questo commento è stato fatto dal moderatore sul sito
Diciamo che ho inserito il codice seguente per eliminare tutte le mie righe che contengono apple, ma poi voglio che continui una volta terminato ed elimini tutte le righe che contengono banana? Ho provato a duplicare il codice ma sembra fermarsi dopo Apple. Grazie. Sub Delete_Rows() Dim rng As Range, cell As Range, del As Range Set rng = Intersect(Range("A1:C20"), ActiveSheet.UsedRange) Per ogni cella In rng If (cell.Value) = "Apple" _ Quindi se del non è nulla, quindi Imposta del = cell Else: Imposta del = Union(del, cell) End If End If Next cell On Error Resume Next del.EntireRow.Delete End Sub
Questo commento è stato fatto dal moderatore sul sito
Volevo solo dire grazie. Questo ha funzionato come un incantesimo.
Questo commento è stato fatto dal moderatore sul sito
Decisamente fantastico! Apprezzo per la condivisione!!!
Questo commento è stato fatto dal moderatore sul sito
Grazie, questo è fantastico! Commento veloce, ho provato la funzione trova e sostituisci in Excel 2010. Per selezionare tutti i risultati trovati ho dovuto usare Ctrl + A invece di Alt + A.
Questo commento è stato fatto dal moderatore sul sito
Ciao, qual è il modo più semplice per eliminare le righe che NON contengono "Apple" per favore? Grazie
Questo commento è stato fatto dal moderatore sul sito
Ciao, un modo per scriverlo per eliminare una riga, con un'eccezione OR? Cioè, elimina le righe duplicate, ma ignora un determinato valore. Voglio eliminare i duplicati, tranne dove la colonna in questione contiene un b/c vuoto che la colonna non ha ancora dati validi. Ho corso come te, ma ho finito di eliminare le righe con uno spazio vuoto nella colonna in questione, quindi non posso usarlo così com'è. Grazie
Questo commento è stato fatto dal moderatore sul sito
Grazie per lo script VB. Non vedo l'ora di provare questo. Domanda: è possibile contrassegnare le colonne per l'eliminazione prima di eliminarle e/o copiarle in una scheda separata nella cartella di lavoro? Inoltre, esiste un modo per eseguire questo script eseguito su più cartelle di lavoro/file contemporaneamente?
Questo commento è stato fatto dal moderatore sul sito
grazie.. mi aiuta molto...
Questo commento è stato fatto dal moderatore sul sito
Vorrei eliminare tutte le righe in cui column1 = "Apple" AND column3 = "verde". per favore?
Questo commento è stato fatto dal moderatore sul sito
Non sono sicuro di come farlo usando le macro o giù di lì, ma un'opzione che farebbe bene il suo lavoro è aggiungere una colonna extra che verifica che una colonna sia "mela" e l'altra sia "verde" e quindi lascia dà un semplice valore "sì" o "no". utilizzare una delle opzioni precedenti per cercare il valore "yes" e rimuovere le righe in base a quello anziché a 2 valori separati.
Questo commento è stato fatto dal moderatore sul sito
ho un elenco di negozi in un documento. Ho un rapporto che restituisce migliaia di righe. il numero del negozio è sempre nella colonna A. Esiste un codice/macro che cercherà nel report ed eliminerà tutte le colonne con i numeri del negozio dall'elenco dei negozi. pensare che sono necessari un vlookup e "Do While".
Questo commento è stato fatto dal moderatore sul sito
Ciao e grazie mille per il codice VBA. Ho una domanda. È possibile rendere il codice in modo che sia possibile scegliere più valori di cella da eliminare contemporaneamente? Ad esempio scegliere Apple ed Emily contemporaneamente ed eliminarli? Apprezzo il tuo lavoro e non vedo l'ora di una tua risposta. Joan K
Questo commento è stato fatto dal moderatore sul sito
Come posso specificare l'intervallo A3:D3000 (cioè non voglio che l'utente selezioni l'intervallo)? Come posso rendere la stringa di eliminazione un riferimento di cella, ad es. G1?
Questo commento è stato fatto dal moderatore sul sito
è possibile confrontare due colonne e quindi eliminare? è nell'intervallo A3: D3000 se la cella A = x e la cella B = y quindi elimina la riga?
Questo commento è stato fatto dal moderatore sul sito
Che grande. grazie mille a tutti. :)
Non ci sono ancora commenti pubblicati qui
Carica Altre
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL