MD, you could merge your first 2 lines ...
Although, I'd probably just use Len ...For Each cell In Selection.SpecialCells(xlCellTypeFormulas, 23)
We may be able to make this faster by using AutoFilter - if the range is large enough..Sub foofoo() Dim cell As Range For Each cell In Selection.SpecialCells(xlCellTypeFormulas, 23) If Len(cell.Value) = 0 Then c = c + 1 End If Next MsgBox c End Sub