Hallo Martin,
wenn das automatisch gehen soll, dann kopiere das folgende Makro in das VBA-Projekt des Arbeitsblattes "Master" (und lösche das vorhandene Makro):
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngZeile As Long
'Makro verlassen, wenn keine Eingabe in Spalte I erfolgt
If Intersect(Target, Range("I:I")) Is Nothing Then Exit Sub
If IsDate(Target.Value) Then
lngZeile = ThisWorkbook.Worksheets("erledigt").Cells(Rows.Count, 9).End(xlUp).Row + 1
Rows(Target.Row).Copy Destination:=ThisWorkbook.Worksheets("erledigt").Cells(lngZeile, 1)
'Zeile löschen
Rows(Target.Row).Delete Shift:=xlUp
'Daten im Arbeitsblatt erledigt nach Spalte I sortieren
With Worksheets("erledigt")
lngZeile = .Cells(Rows.Count, 9).End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("I2:I" & lngZeile), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A2:I" & lngZeile)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End With
End If
End Sub
Das zuerst gepostete Makro gehört in ein allgemeines Modul und funktioniert bei mir einwandfrei. Dabei wird die ganze Tabelle durchsucht und alle Datensätze, bei denen ein Datum in Spalte I steht in das Blatt erledigt kopiert.
Gruß
M.O.