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