1. "Can I ask how do I link that into my current code.. "
In your current code you can "call" the KeepFormulas macro:
2. "the code currently looks for the criteria of closed.. and deletes..."
What do you mean by closed and deletes? Are those values?
3. "like I have said dont want to delete the row, and want to keep the formulas.."
The provided code should do that.
4. "Header row 7, data from row 8,"
If it is always row 8 which needs to be checked then change this line:
sRow = ActiveCell.Row
sRow = 8
Or to clean up the code:
Dim lCol As Integer
lCol = Cells(8, Columns.Count).End(xlToLeft).Column
For Each cell In Range(Cells(8, 1), Cells(8, lCol))
If cell.HasFormula = False Then cell.ClearContents
Ask away if something is unclear; I'm here to help.