Robert vorrebbe una macro che trovi tutte le istanze di celle in una tabella di dati che hanno un valore zero e, quindi, cancella quelle celle. Si chiede come fare per farlo.

Ai fini di questo suggerimento, presumo che Robert voglia effettivamente cancellare i valori nelle celle, non effettivamente eliminare le celle.

Inoltre, presumo che non voglia nascondere solo i valori zero, come si può facilmente fare con una semplice modifica delle impostazioni in Excel.

(Il modo in cui lo fai è stato trattato in altri ExcelTips.)

In realtà ci sono alcuni modi in cui puoi sbarazzarti dei tuoi valori zero. Un modo non usa nemmeno le macro, ma si basa invece sulle funzionalità Trova e sostituisci di Excel:

  1. Premi CTRL + H. Excel visualizza la scheda Sostituisci della finestra di dialogo Trova e sostituisci.

  2. Fare clic sul pulsante Opzioni per espandere la finestra di dialogo. (Vedi figura 1.)

  3. Nella casella Trova, inserisci 0.

  4. Assicurati che la casella Sostituisci con sia vuota.

  5. Selezionare la casella di controllo Abbina contenuto intero cella.

  6. Fare clic su Sostituisci tutto per eseguire le sostituzioni.

Potresti anche, se lo desideri, tradurre i passaggi precedenti in una breve macro:

Sub ReplaceZeros()

Cells.Replace What:="0", Replacement:="", _       LookAt:=xlWhole, SearchOrder:=xlByRows End Sub

C’è un limite a ciò che questo approccio realizzerà, in particolare sostituirà solo le celle che contengono effettivamente un valore 0. Non sostituirà le formule che si risolvono in 0. Ad esempio, se una cella conteneva la formula = 4-4, che si risolve in 0, l’operazione Trova e sostituisci la ignora perché in realtà non c’è un valore 0 nella cella.

Se vuoi qualcosa che cancelli effettivamente le celle che contengono 0 o si risolverà a 0, allora avrai bisogno di un approccio macro diverso. Eccone uno buono:

Sub DeleteZeroes()

Dim rCell As Range

For Each rCell In Selection         If rCell.Value = 0 Then             rCell.ClearContents         End If     Next End Sub

Per utilizzare la macro, seleziona semplicemente le celle che desideri influenzare e quindi esegui la macro. Esamina ciascuna delle celle selezionate e rimuove il contenuto di qualsiasi cella che contiene un valore 0, e in questo caso include anche tutte le formule che si risolvono in 0.

_Nota: _

Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.

ExcelTips è la tua fonte di formazione economica su Microsoft Excel.

Questo suggerimento (13437) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.