A few unknowns here as in:
• Do you have filters applied?
• Is it only the previous month or all data before this month to be deleted?
• Is the data within a table object or just data on the worksheet?
Something like the below may work if you have filters already applied:
Sub test()
Dim fDay As Variant, endRow As Long
fDay = DateSerial(Year(Date), Month(Date), 1)
endRow = Range("O" & Rows.Count).End(xlUp).Row
Range("O7").AutoFilter Field:=1, Criteria1:="<" & CLng(fDay)
Range("8:" & endRow).SpecialCells(xlCellTypeVisible).Delete
Range("O7").AutoFilter Field:=1
End Sub
You may be better off sharing an example workbook