Skip to main content

Come cancellare il contenuto delle celle in base a una condizione in Excel?

Author: Xiaoyang Last Modified: 2025-08-06

A volte potrebbe essere necessario cancellare il contenuto delle celle in base a determinate condizioni in Excel, come ad esempio cancellare il contenuto della cella se questa contiene un valore specifico, cancellare il contenuto della cella se ci sono celle vuote in un'altra colonna o cancellare il contenuto delle celle con un colore di sfondo specifico, ecc. Questo articolo presenterà alcuni trucchi per risolvere rapidamente e facilmente queste attività.

Cancella il contenuto delle celle in base al valore della cella con il codice VBA

Cancella intere righe se il valore è maggiore o minore di un valore specifico con il codice VBA

Cancella il contenuto delle celle o delle righe in base al valore della cella con una funzione pratica

Cancella intere righe se un'altra cella è vuota con il codice VBA

Cancella il contenuto delle celle in base al colore di sfondo con il codice VBA


Cancella il contenuto delle celle in base al valore della cella con il codice VBA

Ad esempio, hai il seguente intervallo dati, ora vuoi cancellare il contenuto delle celle che contengono “Hoodie”, il seguente codice VBA può aiutarti.

sample data

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo e incolla il seguente codice nella finestra del Modulo.

Codice VBA: Cancella il contenuto delle celle se la cella è uguale a un valore specifico

Sub ClearContents()
'Updateby ExtendOffice
 Dim xRng As Range
 Dim xCell As Range
 Dim xText As String
 Set xRng = Application.Range("A2:A12")
 xText = "Hoodie" 'Change this text to your own
 For Each xCell In xRng
 If xCell.Value = xText Then
 xCell.clearContents
 End If
 Next xCell
End Sub
Nota: Nel codice sopra, A2:A12 è l'intervallo dati da cui vuoi cancellare il contenuto delle celle, il testo “Hoodie” è il valore specifico che desideri cancellare. Cambiali in base alle tue esigenze.

3. Quindi, premi il tasto F5 per eseguire questo codice, e tutte le celle con il testo “Hoodie” verranno cancellate immediatamente, vedi screenshot:

vba code to clear cell contents based on cell value

a screenshot of kutools for excel ai

Sblocca la Magia di Excel con Kutools AI

  • Esecuzione Intelligente: Esegui operazioni sulle celle, analizza i dati e crea grafici — tutto guidato da semplici comandi.
  • Formule Personalizzate: Genera formule su misura per ottimizzare i tuoi flussi di lavoro.
  • Codifica VBA: Scrivi e implementa codice VBA senza sforzo.
  • Interpretazione delle Formule: Comprendi facilmente formule complesse.
  • Traduzione del Testo: Superare le barriere linguistiche all'interno dei tuoi fogli di calcolo.
Potenzia le tue capacità di Excel con strumenti alimentati dall'IA. Scarica Ora ed esperisci un'efficienza mai vista prima!

Cancella intere righe se il valore è maggiore o minore di un valore specifico con il codice VBA

Supponiamo di avere il seguente intervallo dati, per cancellare tutto il contenuto delle righe se il valore nella colonna D è maggiore o minore di 300. Qui, creerò un codice VBA per completare questa operazione.

sample data

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo e incolla il seguente codice nella finestra del Modulo.

Codice VBA: Cancella intere righe se il valore della cella è maggiore o minore di un valore specifico

Sub ClearRowInValue()
'Updateby ExtendOffice
Dim xRg As Range
Dim xStrAddress As String
Dim xStrValue As Integer
Dim xCell As Range
Dim xRowRg As Range
Dim xF As Integer
Dim xBol As Boolean
xStrAddress = "D2:D12" 'Change cell range
xStrValue = 300 'change the value
Set xRg = Range(xStrAddress)
For xF = xRg.Rows.Count To 1 Step -1
    Set xRowRg = xRg.Rows.Item(xF)
    xBol = False
    For Each xCell In xRowRg.Cells
        If Application.IsNumber(xCell.Value) Then
        If xCell.Value > xStrValue Then
        xBol = True
        Exit For
        End If
        End If
    Next
    If xBol Then
        xRowRg.EntireRow.clearContents
    End If
Next
End Sub
Nota: Nel codice sopra, D2:D12 è l'intervallo dati che contiene il valore specifico in base al quale vuoi cancellare le righe; 300 è il valore specifico; il carattere > all'interno dello script If xCell.Value > xStrValue Then significa maggiore di, usa minore di, cambialo con il carattere < se necessario.

3. Quindi premi il tasto F5 per eseguire questo codice, e tutto il contenuto delle righe verrà cancellato se il valore nella colonna D è maggiore di 300, vedi screenshot:

vba code to clear entire rows if value is greater or less than a specific value


Cancella il contenuto delle celle o delle righe in base al valore della cella con una funzione pratica

Se hai Kutools per Excel, con la sua funzione Seleziona Celle Specifiche, puoi selezionare le celle o le righe in base a un valore specifico e quindi eliminare il contenuto delle celle immediatamente.

Kutools per Excel offre oltre 300 funzionalità avanzate per semplificare compiti complessi, aumentando creatività ed efficienza. Integrato con capacità di intelligenza artificiale, Kutools automatizza le attività con precisione, rendendo la gestione dei dati senza sforzo. Informazioni dettagliate su Kutools per Excel... Prova gratuita...

Dopo aver installato Kutools per Excel, procedi nel seguente modo:

1. Seleziona l'intervallo dati con i valori in base ai quali vuoi cancellare il contenuto delle celle o delle righe, quindi clicca su Kutools > Seleziona > Seleziona Celle Specifiche, vedi screenshot:

click Kutools > Select > Select Specific Cells

2. Nella finestra di dialogo Seleziona Celle Specifiche aperta, effettua le seguenti operazioni:

  • Clicca su Cella o Riga intera che desideri selezionare;
  • Specifica i criteri sotto la sezione Tipo specifico come necessario. Qui, voglio selezionare le righe il cui valore nella colonna D è maggiore di 300.

specify the options in the dialog box

3. Quindi clicca sul pulsante Ok, e tutte le righe con il valore maggiore di 300 verranno selezionate. Ora, devi solo premere il tasto Canc sulla tastiera per eliminare il contenuto delle celle, vedi screenshot:

all the rows with the value greater than specific value are selected, then delete the contents

Suggerimenti: Ci sono molti altri criteri che puoi utilizzare, specifica la tua condizione personalizzata dalla finestra di dialogo come mostrato nello screenshot qui sotto:
many other criteria in the dialog box

Cancella i dati delle righe in un intervallo se contiene celle vuote con il codice VBA

In questo caso, se la cella nell'intervallo dati contiene qualsiasi cella vuota, voglio cancellare i dati delle righe dall'intervallo come mostrato nello screenshot qui sotto.

Clear rows data in a range if contains blank cell

Per completare questa operazione, applica il seguente codice VBA:

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, quindi incolla il seguente codice nella finestra del Modulo.

Codice VBA: Cancella i dati delle righe se contiene celle vuote

Sub ClearContents()
'Updateby ExtendOffice
Dim xcell As Range
Set xrng = Application.Range("A2:D12")
For Each xcell In xrng
If xcell.Value = "" Then
Intersect(xcell.EntireRow, xrng).ClearContents
End If
Next
End Sub
Nota: Nel codice sopra, A2:D12 è l'intervallo dati che contiene le celle vuote da cui vuoi cancellare il contenuto delle celle.

3. Quindi, premi il tasto F5 per eseguire questo codice, e i dati delle righe con celle vuote verranno cancellati immediatamente nell'intervallo specifico di cui hai bisogno.


Cancella il contenuto delle celle in base al colore di sfondo con il codice VBA

Per cancellare le celle che sono riempite con un colore di sfondo specifico, puoi utilizzare il seguente codice VBA.

1. Tieni premuti i tasti ALT + F11 per aprire la finestra Microsoft Visual Basic for Applications.

2. Clicca su Inserisci > Modulo, quindi incolla il seguente codice nella finestra del Modulo.

Codice VBA: Cancella il contenuto delle celle in base al colore di sfondo

Sub Clearcontents()
'Updateby ExtendOffice
Dim xcell As Range
Dim xrng As Range
Set xrng = Application.Range("A2:D12")
    For Each xcell In xrng
        If xcell.Interior.Color = RGB(252, 228, 214) Then
            xcell.Clearcontents
        End If
    Next
End Sub
Nota: Nel codice sopra, A2:D12 è l'intervallo dati che desideri utilizzare, RGB(252, 228, 214) è il colore specifico in base al quale vuoi cancellare le celle, puoi estrarre la modalità RGB del colore di sfondo utilizzando il programma Paint sul tuo computer.

3. E poi, premi il tasto F5 per eseguire questo codice, e il contenuto delle celle con il colore di sfondo specificato verrà cancellato immediatamente. Vedi screenshot:

vba code to clear cell contents based on background color


  • Barra delle formule super (modifica facilmente più righe di testo e formule); Layout di lettura (leggi ed edita facilmente un gran numero di celle); Incolla in un intervallo filtrato...
  • Unisci celle/righe/colonne mantenendo i dati; Dividi il contenuto delle celle; Combina righe duplicate e somma/media... Prevenire celle duplicate; Confronta intervalli...
  • Seleziona righe duplicate o uniche; Seleziona righe vuote (tutte le celle sono vuote); Super Trova e Trova approssimativa in molte cartelle di lavoro; Selezione casuale...
  • Copia esatta di più celle senza cambiare il riferimento della formula; Crea automaticamente riferimenti a più fogli; Inserisci punti elenco, caselle di controllo e altro...
  • Preferiti e inserimento rapido di formule, intervalli, grafici e immagini; Crittografa celle con password; Crea elenco di invio e invia email...
  • Estrai testo, aggiungi testo, rimuovi caratteri in una posizione specifica, rimuovi spazio; Crea e stampa statistiche pagina dati; Converti tra contenuto delle celle e commenti...
  • Super Filtri (salva e applica schemi di filtro ad altri fogli); Ordinamento avanzato per mese/settimana/giorno, frequenza e altro; Filtro speciale per grassetto, corsivo...
  • Unisci cartelle di lavoro e fogli di lavoro; Unisci tabelle basandoti su colonne chiave; Suddividi dati in più fogli; Conversione batch di xls, xlsx e PDF...
  • Raggruppamento tabella pivot per numero di settimana, giorno della settimana e altro... Mostra celle sbloccate, celle bloccate con colori diversi; Evidenziazione celle che hanno formula/nome...
kte tab 201905
  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea documenti multipli in nuove schede della stessa finestra, anziché in nuove finestre.
  • Aumenta la tua produttività del 50%, e riduce centinaia di clic del mouse ogni giorno!
officetab bottom