Option Explicit
Sub DeleteBlankRows()
Dim Rng As Range, sRng As Range, dRng As Range
Dim MyAdd As String, Tim As String
Set Rng = Range("A4:A" & [B65500].End(xlUp).Row)
Tim = [A2].Value
Set sRng = Rng.Find(Tim, , xlFormulas, xlWhole)
If Not sRng Is Nothing Then
MyAdd = sRng.Address
Do
If dRng Is Nothing Then
Set dRng = sRng.Offset(-1).Resize(3)
Else
Set dRng = Union(dRng, sRng.Offset(-1).Resize(3))
End If
Set sRng = Rng.FindNext(sRng)
Loop While Not sRng Is Nothing And sRng.Address <> MyAdd
End If
If Not dRng Is Nothing Then dRng.EntireRow.Delete
Set dRng = Nothing
Set Rng = Rng.SpecialCells(xlCellTypeBlanks)
If Not Rng Is Nothing Then
Set dRng = Rng.Offset(, 1).SpecialCells(xlCellTypeBlanks)
If Not dRng Is Nothing Then dRng.EntireRow.Delete
End If
End Sub