I have the below which only seems to work on the top row of my data. I want it to search column B for the date that is in O1 (yesterdays date) and if its a match then delete the entire row it is found on.

Sub DeleteOld()
Range("O1").Value = "=TODAY() - 1"
    Dim c As Range
   Dim SrchRng
     
    Set SrchRng = ActiveSheet.Range("B2", ActiveSheet.Range("B1500").End(xlUp))
    Do
        Set c = SrchRng.Find(Range("O1").Value, LookIn:=xlValues)
        If Not c Is Nothing Then c.EntireRow.Delete
    Loop While Not c Is Nothing
    
    Range("O1").Value = ""
 
    Response = MsgBox(prompt:="Almost Done - Now Hit YES", Buttons:=vbYesNo)
 If Response = vbYes Then
    
    Else
    End If
   
End Sub