Macro's can NOT be undone by hitting the blue arrow. So SAVE your file before running or in this case implementing codes, so you are able to restore your file.
See if this code works for you:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("B2:B10")) Is Nothing Then Exit Sub
Set MR = Range("B2:B10")
For Each cell In MR
If cell.Value = 4 And cell.Offset(0, 1).Value <> "C" Then
Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial
cell.Offset(0, 1).Value = "C"
cell.Offset(0, 1).Font.ColorIndex = 2
Application.CutCopyMode = False
1. Implementing the code:
Right-click on the sheets tab and choose the bottom option called: view code.
Copy/paste the code in the big white field of the new window that should appear.
2. Adjusting the code:
I have used the range ("B2:B10") twice in the code, codeline 3 and 4. This represents the range in which you put the status number. Change this range to match your sheet.
The column next to the status column is used to see whether the row has been copied already or not. This is done by placing a white (so you can't see it) C in it. If you use this column for something else you want to move 1 or more columns to the right so it doesn't affect your data. This done on the 5th line of code:
Offset(0,1)Last this to change is the name of your destination sheet. This is done on the 7th line of code. The name I used is: Sheet2.
3. Testing code.
Now for the fun part. When altering you sheet outside the target range (B2:B10), nothing should happen. Otherwise the row with a status 4, which have not been copied before, will be copied to the destination sheet. Which should put a smile on your face :) .
Please do let me know how this is working out for you.