|Since I can't see your spreadsheet from where I am sitting, I had to take a best guess on the layout.|
Try this code in a backup copy of your workbook since macros cannot be undone.
Size the VBA window so that you can see your data behind it, place your cursor anywhere in the code and press F8 repeatedly to Single Step through the code.
As soon as it finds the first cell with "Total" in Column F, you should be able to tell if it's going to do what you want it to do.
Dim lastF_row As Integer
Dim c As Range
Dim firstAddress As String
'Find last Row with data in Column F
lastF_row = Range("F" & Rows.Count).End(xlUp).Row
'Loop through Column F looking for "Total"
With ActiveSheet.Range("F1:F" & lastF_row)
Set c = .Find("Total", LookIn:=xlValues)
If Not c Is Nothing Then
firstAddress = c.Address
'If Grand Toal is found, we're done
If Cells(c.Row, "F") Like "*Grand*" Then Exit Do
'Replace Total with nothing, add data and formula to other columns
Cells(c.Row, "F").Replace What:="Total", Replacement:=""
Cells(c.Row, "G") = "PER DIEM"
Cells(c.Row, "O").Formula = "=P" & c.Row
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstAddress