Hoje vamos aprender como verificar facilmente se uma ou várias células estão vazias usando o Visual Basic for Applications. O conteúdo é relevante para o Excel 2019/365, 2016 e versões anteriores do Microsoft Office.
Trabalho de preparação
Antes de começar a codificar com VBA no Excel, você precisará garantir que sua guia de desenvolvimento esteja habilitada. Se não for esse o caso, por favor, dê uma olhada neste breve tutorial .
Verificando se o intervalo de células do Excel está vazio com VBA
- No Excel, abra seu ambiente Visual Basic pressionando Alt+F11
- Insira o código a seguir como procedimento em sua planilha ou, alternativamente, em um módulo VBA dedicado.
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
- Vá para sua planilha e selecione um intervalo arbitrário de células.
- Volte para o editor do Visual Basic e certifique-se de que o visualizador imediato (CTRL+G) esteja visível – pois o método Debug.Print no código produzirá seu resultado nessa janela.
- Pressione F5 para executar seu código.
- Olhe para os resultados na janela imediata.

- Todas as células em branco serão identificadas.
Possíveis extensões para o código: Obviamente, você pode estender este código conforme necessário caso esteja interessado em pular valores em branco ou simplesmente não fazer nada caso as células não estejam cheias. Da mesma forma, você pode verificar se o próprio Range está vazio, ou seja – nenhuma célula preta está contida.
Verificando campos não vazios
Da mesma forma, você pode usar a propriedade IsEmpty para verificar os campos que não estão em branco.
If Not IsEmpty(Cell.Value) = True Then
Debug.Print ("Not Empty")
Else
Debug.Print ("Empty")
End If
Bônus: use o código a seguir se quiser destacar células vazias também.
Dim i As Long Dim c As Long Dim myRange As Range Dim myCell As Range Set myRange = Range("A1:A10") Para cada myCell em myRange ' c = c + 1 If IsEmpty(myCell) Then myCell.Interior.Color = RGB(255, 87, 87) i = i + 1 End If Next myCell MsgBox _ "Existem totais " & eu & " célula(s) vazia(s) de " & acampamento; "."