Hallo zusammen,
folgendes Problem:
ich möchte gerne alle Zeilen in Spalte F in denen 'erledigt' eingetragen wird, aus Tabelle1 ausschneiden und in Tabelle 2 fortlaufend untereinander einfügen. Die leere Zeilen in Tabelle 1 sollen außerdem gelöscht werden.
Leider funktioniert mein Ansatz nicht, würde mich sehr über Hilfe freuen.
Sub zeilenkopieren() Dim i As Long With Sheets("Disskusion") For i = .Cells(Rows.Count, "F").End(xlUp).Row To 2 Step -1 Debug.Print .Cells(i, "F") 'If .Cells(i, "F").Text Like "erledigt" Then If StrComp(.Cells(i, "F"), "erledigt", 1) Then .Rows(i).Copy Sheets("erledigt").Cells(Sheets("erledigt").Cells(Rows.Count, "F"). _ End(xlUp).Row + 1, "A") Sheets(Disskusion).Activate .Rows(i).Delete End If Next End With ActiveWorkbook.Save End Sub
Option Explicit Public Sub Verschieben() Dim loLetzte As Long Application.ScreenUpdating = False Application.DisplayAlerts = False With Worksheets("Tabelle1") If WorksheetFunction.CountIf(.Columns("F"), "erledigt") > 0 Then .Range("A1").AutoFilter field:=6, Criteria1:="erledigt" With .AutoFilter.Range .Offset(1).Resize(.Rows.Count - 1).Copy With Worksheets("Tabelle2") loLetzte = .Cells(.Rows.Count, "A").End(xlUp).Offset(1).Row If .Cells(1, "A") = "" Then loLetzte = 1 .Cells(loLetzte, "A").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False End With .Offset(1).Resize(.Rows.Count - 1).Delete End With .Range("A1").AutoFilter End If End With End SubGruß Werner