If you have a lot of rows, a more complicated approach would offer performance improvements


Option Explicit


Sub DeleteSomeRows()
    Dim r1 As Range, r2 As Range, r As Range, r12 As Range
    Dim tomm As Date
    
    Application.ScreenUpdating = False
    
    With ActiveSheet
        Set r1 = .Cells(5, 21)
        Set r2 = .Cells(.Rows.Count, 21).End(xlUp)
        Set r12 = Range(r1, r2)
    End With
    
    tomm = Date + 1
    
    For Each r In r12.Cells
        With r
            If IsDate(.Value) Then
                If Int(.Value) <> tomm Then .Value = True
            End If
        End With
    Next
    
    On Error Resume Next
    r12.SpecialCells(xlCellTypeConstants, xlLogical).EntireRow.Delete
    On Error GoTo 0


    Application.ScreenUpdating = True


End Sub