|This code should work, but I suggest you try it in a backup copy of your file in case things go terribly wrong. Obviously I can only test it in a workbook that I think looks like yours since I can't see your workbook from where I'm sitting.|
Note: if you read this How To, you'll find some troubleshooting tips that might help you determine what is or isn't working with the code.
If it doesn't do what you want, please post an example of your data, after clicking on the blue line at the end of this post and reading the instructions found via that link.
'Determine Last Row with data in Column A
lastRw = Range("A" & Rows.Count).End(xlUp).Row
'Loop through Rows in reverse order
For nxtRw = lastRw To 1 Step -1
'If cell contains RUN DATE, save the Row number from the cell above
If Range("A" & nxtRw) Like "*RUN DATE*" Then _
runRw = Range("A" & nxtRw).Row - 1
'If cell contains END OF CSA, save the Row number from the cell below
'and use the Row number variables to delete the Rows between the
'2 text values
If Range("A" & nxtRw) Like "*END OF CSA*" Then
csaRw = Range("A" & nxtRw).Row + 1
Rows(runRw & ":" & csaRw).Delete shift:=xlUp
Click Here Before Posting Data or VBA Code ---> How To Post Data or Code.