|  
                                             Hallo, 
und das wundert dich jetzt, dass er nicht funktioniert? 
Dein Tabellenaufbau weicht ja wohl doch von deiner Eingangsbeschreibung ab. Dort steht was von Daten ab Spalte A, jetzt sind aber wohl doch erst Daten ab Spalte B vorhanden. 
Option Explicit
 
Public Sub Verteilen()
Dim varArray As Variant, varItem As Variant, objDic As Object
 
Application.ScreenUpdating = False
Set objDic = CreateObject("Scripting.Dictionary")
 
With Worksheets("Tabelle1")
    varArray = .Range("E2:E" & .Cells(.Rows.Count, "E").End(xlUp).Row).Value
    With objDic
        For Each varItem In varArray
            .Item(Key:=varItem) = vbNullString
        Next
    End With
    For Each varItem In objDic.keys
        .Range("B1").AutoFilter field:=4, Criteria1:=varItem
        With .AutoFilter.Range
            .Offset(1).Resize(.Rows.Count - 1).Copy
        End With
        With Worksheets(varItem)
            .Cells(.Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row, "A") _
            .PasteSpecial Paste:=xlPasteValuesAndNumberFormats
        End With
    Next varItem
    .Range("B1").AutoFilter
End With
 
Set objDic = Nothing
Application.CutCopyMode = False
End Sub
Gruß Werner 
     |