Vba: come cancellare il contenuto se la cella contiene un valore specifico
È possibile utilizzare la seguente sintassi di base per cancellare il contenuto di ciascuna cella in un foglio di lavoro Excel uguale a un valore specifico:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
Questa particolare macro cancellerà il contenuto di ogni cella nell’intervallo A2:A11 che è uguale a “Mavs”.
L’esempio seguente mostra come utilizzare questa sintassi nella pratica.
Esempio: utilizzare VBA per cancellare il contenuto se la cella contiene un valore specifico
Supponiamo di avere un foglio Excel con informazioni su diversi giocatori di basket:
Diciamo che vogliamo cancellare il contenuto di ogni cella della colonna Team uguale a “Mavs”.
Per fare ciò possiamo creare la seguente macro:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.ClearContents
Else
End If
Next cell
End Sub
Una volta eseguita questa macro, tutte le celle con un valore “Mavs” nella colonna Team verranno cancellate:
Se invece vuoi cancellare tutte le celle di ogni riga con il valore “Mavs” nella colonna Team , puoi utilizzare la seguente sintassi:
SubClearContentsIfContains ()
Dim cell, rng As Range
Set rng = Range(" A2:A11 ")
For Each cell In rng
If cell.Value = " Mavs " Then
cell.EntireRow.ClearContents
Else
End If
Next cell
End Sub
Una volta eseguita questa macro, riceviamo il seguente output:
Tieni presente che tutte le celle in ciascuna riga contenente “Mavs” nella colonna Team sono state cancellate.
Nota : qui è possibile trovare la documentazione completa del metodo ClearContents in VBA.
Risorse addizionali
I seguenti tutorial spiegano come eseguire altre attività comuni in VBA:
VBA: come trovare l’ultima riga utilizzata
VBA: come trovare l’ultima colonna utilizzata
VBA: come visualizzare tutti i fogli