I was a bit off the first time around, providing some updated code here that should hopefully look more like what's expected. Reading back the whole thread it sounds not only the data, but the range itself may be dynamic here. If so is there a pattern in the way the range actually reshapes?
The below code adds 3 rows to the source range every time the source data changes - should be written to the "sheet1" worksheet module
Private Sub Worksheet_Change(ByVal Target As range)
Static r As range
If r Is Nothing Then
Set r = Worksheets("Sheet1").range("A2:D63")
Else
Set r = Union(r, Worksheets("Sheet1").range(Cells(r.Row + r.Rows.Count, r.Column), _
Cells(r.Row + r.Rows.Count + 2, r.Column + r.Columns.Count - 1)))
End If
r.select
If Not Application.Intersect(Target, r) Is Nothing Then
For Each Cell In Application.Intersect(Target, r)
Worksheets("Sheet2").Cells(Cell.Row, Cell.Column).Value = Cell.Value
Next Cell
End If
End Sub