Hi satinderverma
You may try this code
''''**********************************************************************************
Private Sub Worksheet_Change(ByVal Target As Range)
Dim statusRange As Range
'''The dynamic status range from cell R4 down to the end of your data
Set statusRange = Range(Cells(4, "R"), Cells(Rows.Count, "R").End(xlUp))
If Target.Cells.Count > 1 Then Exit Sub
If Not Application.Intersect(Target, statusRange) Is Nothing Then
Cells(Target.Row, "B").Copy Sheets("cashbook").Cells(Rows.Count, "B").End(xlUp).Offset(1)
End If
End Sub
''''''******************************************************************
I hope this helps you and gives a solution to your problem
Do let me know if you need more help
Regards
Jeovany