Private Sub Worksheet_Change(ByVal Target As Range)
With Target
If .Column = 2 And .Row Mod 4 = 0 Then
Cells(.Parent.Cells(.Parent.Rows.Count, "C").End(xlUp).Row + 1, "C").Value2 = .Value2
ThisWorkbook.Worksheets("Sheet1").Names("Data").RefersTo = Range(Cells(2, 3), Cells(.Parent.Cells(.Parent.Rows.Count, "C").End(xlUp).Row, 3))
End If
End With
End Sub