Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Application.EnableEvents = False
Me.Range(Me.Cells(3, 1), Me.Cells(Me.Cells(65536, 1).End(xlUp).Row + 1, 3)).Clear
Dim t() As Variant
Dim ws As Worksheet
For Each ws In ThisWorkbook.Worksheets
If ws.Name = Me.Cells(2, 4).Value Then
t = ws.Range(ws.Cells(3, 1), ws.Cells(ws.Cells(65536, 1).End(xlUp).Row, 3))
Me.Cells(3, 1).Resize(UBound(t, 1), UBound(t, 2)) = t
Me.Range(Me.Cells(3, 1), Me.Cells(Me.Cells(65536, 1).End(xlUp).Row + 1, 1)).HorizontalAlignment = xlLeft
Me.Range(Me.Cells(3, 2), Me.Cells(Me.Cells(65536, 1).End(xlUp).Row + 1, 3)).HorizontalAlignment = xlCenter
Exit For
End If
Next ws
Erase t
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub