So if you set the cells of the relevant columns (with formula in) to all be locked from the start, and your headers etc also locked, and only the cells that the user enters data to be unlocked, then with the protection activated, the user can only add data to empty cells that are unlocked, can't touch the formula etc.
When initals are entered, that row of cells is then locked, this preventing changes to what they have put, they would only be able to enter anything in the next row, which has the combination of locked and unlocked cells in in (unlocked for user entry and locked for formula columns).
Hope you can see what I'm getting at.
Simple example (as can't post up anything as on a tablet)
Column headers in A1:D1
Formula columns B:C
User columns A & D (baring headers)
Header cells a1:a4 locked.
Cells A2:A50000 (whatever range you like) are unlocked.
B2:C50000 locked.
D2:D50000 unlocked.
So on first user entry, they write in a2 and then put initals in d2, which then triggers code to lock cells of row 2 (a2 and d2 then become locked and thus result achieved).
on second user entry, they write in a3 and then put initals in d3, which then triggers code to lock cells of row 3 (a3 and d3 then become locked), rinse and repeat, 1 row at a time.
Obviously the code can check cells are not blank etc and any other validation needed before locking, so they can't lock a blank row by entering initials first etc.
If this doesn't suit your needs etc, then perhaps use a userform to capture the data and it stamps it to a totally locked out sheet?
Upex