For what its worth, I have a bit of code I've been using to delete rows if it contains a certain letter. I'm not sure if you could insert "cells.blank" or something similar in place of the letter "O". See below in blue... here is my code:

    Dim c As range, LR As Long, a As Long
        For Each c In range("D2", range("D" & Rows.Count).End(xlUp))
          If UCase(c.Value) = "C" Then
            range(Cells(c.Row, 1), Cells(c.Row, 39)).Font.ColorIndex = 3
            range("K" & c.Row) = range("K" & c.Row) * -1
         
          End If
        Next c
        LR = Cells(Rows.Count, "D").End(xlUp).Row
        For a = LR To 2 Step -1
          If UCase(Cells(a, "D").Value) = "O" Then
            Rows(a).EntireRow.Delete
          End If
        Next a