AW: Erledigte in anderes Register verschiebe
31.01.2023 08:17:38
ChrisL
Hi
Aus der Tabelle auf dem Blatt Erledigt, müsstest du zuerst mal ein ListObject ("intelligente" Tabelle machen). Der Bereich sollte dann automatisch den Bereichsnamen "Tabelle2" erhalten.
Sub kopieren()
Dim LO1 As ListObject, LO2 As ListObject
Set LO1 = Worksheets("Aufgabe").ListObjects("Tabelle1")
Set LO2 = Worksheets("Erledigt").ListObjects("Tabelle2")
With LO1
.Range.AutoFilter Field:=1, Criteria1:=">o"
.DataBodyRange.Copy LO2.DataBodyRange.Offset(LO2.DataBodyRange.Rows.Count).Cells(1, 1)
Application.DisplayAlerts = False
.DataBodyRange.SpecialCells(xlCellTypeVisible).Delete
Application.DisplayAlerts = True
.Range.AutoFilter
End With
End Sub
Wie Ralf schon erwähnt hat, müsste man das Filterkriterium umdrehen (gleich wird zu ungleich). Und das ListObject kannst du auch ohne Namen ansprechen. Aus Tabelle Erledigt eine "intelligente" Tabelle machen, müsstest du natürlich trotzdem.
Set LO1 = Worksheets("Aufgabe").ListObjects(1)
Set LO2 = Worksheets("Erledigt").ListObjects(1)
cu
Chris