This assumes that the Names in Column E of Sheet1 are identical to the Tab names of the other sheets.
Sub SamT()
Const NumCols As Long = 4 'Number of columns to copy (A,B,C,D)
Const MainSheet As String = "Sheet1" 'Change to suit
Dim NextA As Range 'Next Empty Cell in Column A of given Sheet
Dim LastE As Range 'The last used Cell of a given column (E in this case)
Dim Cel As Range 'Used in loop
'Cells(Rows.Count, n) is the bottommost cell in column number "n"
'End(xlUP) is the same as selecting any Cell and pressing Ctrl+Up Arrow
Set LastE = Sheets(MainSheet).Cells(Rows.Count, 5).End(xlUp)
For Each Cel In Sheets(MainSheet).Range(Range("E1"), LastCell)
If Trim(Cel.Text) = "" Then GoTo CelNext 'In case empty row before end
Set NextA = Sheets(Cel.Text).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Range("A" & Cel.Row).Resize(1, NumCols).Copy 'Resize range An to An:Dn
Sheets(Cel.Text).Range(NextA).PasteSpecial 'with no params, pastes all
CelNext:
Next Cel
End Sub