Oggi impareremo come controllare facilmente se una o più celle sono vuote utilizzando Visual Basic, Applications Edition. Il contenuto è rilevante per Excel 2019/365, 2016 e versioni precedenti di Microsoft Office.
Lavoro di preparazione
Prima di iniziare a scrivere codice con VBA in Excel, devi assicurarti che la tua scheda di sviluppo sia abilitata. In caso contrario, dai un'occhiata a questo breve tutorial .
Verifica se l'intervallo di celle di Excel è vuoto con VBA
- In Excel, apri il tuo ambiente Visual Basic premendo Alt+F11
- Inserisci il codice seguente come procedura nel tuo foglio di lavoro o in alternativa in un modulo VBA dedicato.
Sub Check_Cell_is_empty_alt()
Dim rng As Range
Set rng = Selection
For Each Cell In rng
If IsEmpty(Cell.Value) = True Then
Debug.Print ("Empty")
Else
Debug.Print ("Not Empty")
End If
Next Cell
End Sub
- Vai al tuo foglio di calcolo e seleziona un intervallo arbitrario di celle.
- Torna all'editor di Visual Basic e assicurati che il visualizzatore immediato (CTRL+G) sia visibile, poiché il metodo Debug.Print nel codice visualizzerà il risultato in quella finestra.
- Premi F5 per eseguire il tuo codice.
- Guarda i risultati nella finestra immediata.

- Tutte le celle vuote verranno identificate.
Possibili estensioni al codice: puoi ovviamente estendere questo codice secondo necessità nel caso in cui sei interessato a saltare valori vuoti o semplicemente non fare nulla nel caso in cui le celle non siano piene. Allo stesso modo, puoi verificare se l'intervallo stesso è vuoto, ovvero non sono contenute celle nere.
Controllo dei campi non vuoti
Allo stesso modo è possibile utilizzare la proprietà IsEmpty per verificare la presenza di campi non vuoti.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bonus: utilizza il seguente codice se desideri evidenziare anche le celle vuote.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Imposta myRange = Range("A1:A10") For Each myCell in myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Ci sono in totale" & io e "" celle vuote in " & c& "."