Este ejemplo de la macro funcionado, en el rango b2 de la hoja base la fecha es 21/08/2018, la macro primero va a ordenar tu base por fechas en forma ascendente, luego se va a ir a la columna BF y va a contar cuantas fechas son superiores a la fecha ingresada, después se va a posicionar un la primera fecha con fecha superior a la ingresada y la va a borrar, en este caso y como ejemplo pinte el rango que va a borrar de amarillo, la instrucción para borrar esta inactiva solo quítale la palomita y listo, solo borra la línea anterior a esta que es la que hace el pintado
aqui esta la macro
Sub borrar()
FECHA = Sheets("base").Range("b2")
Set H1 = Worksheets("trabajo")
Set datos = H1.Range("a1").CurrentRegion
With datos
r = .Rows.Count: c = .Columns.Count
CFECHA = Range("bf1").Column
.Sort KEY1:=H1.Range(.Columns(CFECHA).Address), ORDER1:=xlAscending, Header:=xlYes
Set datos = .Rows(2).Resize(r - 1, c)
cuenta = WorksheetFunction.CountIf(datos.Columns(CFECHA), ">" & CDbl(FECHA))
vacio = cuenta > 0
If cuenta > 0 Then
AVISO = MsgBox("SE ENCONTRARON " & cuenta & _
" FECHAS MAYORES A " & FECHA & " QUIERE ELIMINARLAS? ", vbYesNo, "AVISO EXCEL")
VALIDA = AVISO = 6
If VALIDA Then
fila = WorksheetFunction.Match(CDbl(FECHA), datos.Columns(CFECHA), 0)
.Rows(fila + 1).Resize(cuenta).Interior.ColorIndex = 6
'.Rows(fila + 1).Resize(cuenta).EntireColumn.Delete
Else
End
End If
Else
MsgBox ("NO SE ENCONTRO NINGUN REGISTRO CON FECHA SUPERIOR A " & FECHA), _
vbInformation, "AVISO EXCEL"
End If
End With
Set datos = Nothing
End Sub