For the first link that you supplied, following is the modified code. Place it in the "Outstanding" sheet module as explained in my first reply:-
Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Count > 1 Then Exit Sub ' This stops code error if more than one cell is changed at once.
If Not Application.Intersect(Target, Range("H:H")) Is Nothing Then 'Indicates the Target range.
If LCase(Target.Value) = LCase("Paid") Then
Range(Cells(Target.Row, "B"), Cells(Target.Row, "I")).Copy Sheet3.Range("B" & Rows.Count).End(3)(2)
Application.CutCopyMode = False
Application.ScreenUpdating = True
Following is the link to the sample with the code implemented:-
You'll see that the target range (Status) is H:H. The copy range is from Column B to Column I.
You'll also note that I've referred to the destination sheet by its sheet code (Sheet3) rather than its sheet name. This is a more robust method. So, even if you need to change the sheet name, the code will still work regardless. You will find the sheet codes in the VBA Editor Project Explorer to the left of the main code field. As you can see, the "Outstanding" sheet code is Sheet1.
I've made the criteria "Paid" case insensitive.
Make sure that the criteria "Paid" is the last entry that you make on each row.
"Also when I was trying it on the link you sent me earlier every time I entered paid it automatically took me to the next sheet. It didn't matter if I hit enter, tab or even the arrow.
I want to ask, is there a way to avoid that from happening? "
I've removed the line of code that takes you to the second sheet.
As for the second link that you supplied, I'll leave that to you as a homework exercise now that you have an idea of how the code above works. There are some notes (in green print) in the above code which do a little more explaining.
There isn't a Status column in the second sample link. So, if you create one, remember to change the target range to suit.
I hope that this helps.